nuance-ui 0.2.5 → 0.2.7

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 (385) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +75 -75
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +4 -5
  5. package/dist/runtime/components/action-icon/action-icon-group.d.vue.ts +4 -0
  6. package/dist/runtime/components/action-icon/action-icon-group.vue +3 -3
  7. package/dist/runtime/components/action-icon/action-icon-group.vue.d.ts +4 -0
  8. package/dist/runtime/components/action-icon/action-icon-section.d.vue.ts +9 -0
  9. package/dist/runtime/components/action-icon/action-icon-section.vue +1 -1
  10. package/dist/runtime/components/action-icon/action-icon-section.vue.d.ts +9 -0
  11. package/dist/runtime/components/action-icon/action-icon.d.vue.ts +14 -5
  12. package/dist/runtime/components/action-icon/action-icon.vue +2 -1
  13. package/dist/runtime/components/action-icon/action-icon.vue.d.ts +14 -5
  14. package/dist/runtime/components/alert.d.vue.ts +10 -14
  15. package/dist/runtime/components/alert.vue +1 -1
  16. package/dist/runtime/components/alert.vue.d.ts +10 -14
  17. package/dist/runtime/components/app-shell/app-shell-aside.vue +30 -30
  18. package/dist/runtime/components/app-shell/app-shell-footer.vue +29 -29
  19. package/dist/runtime/components/app-shell/app-shell-header.vue +30 -30
  20. package/dist/runtime/components/app-shell/app-shell-main.vue +18 -18
  21. package/dist/runtime/components/app-shell/app-shell-navbar.vue +34 -34
  22. package/dist/runtime/components/app-shell/app-shell-section.d.vue.ts +4 -1
  23. package/dist/runtime/components/app-shell/app-shell-section.vue +10 -10
  24. package/dist/runtime/components/app-shell/app-shell-section.vue.d.ts +4 -1
  25. package/dist/runtime/components/app-shell/app-shell.d.vue.ts +11 -3
  26. package/dist/runtime/components/app-shell/app-shell.vue +35 -35
  27. package/dist/runtime/components/app-shell/app-shell.vue.d.ts +11 -3
  28. package/dist/runtime/components/app-shell/context.d.ts +5 -0
  29. package/dist/runtime/components/avatar/avatar-group.d.vue.ts +1 -1
  30. package/dist/runtime/components/avatar/avatar-group.vue +1 -1
  31. package/dist/runtime/components/avatar/avatar-group.vue.d.ts +1 -1
  32. package/dist/runtime/components/avatar/avatar.d.vue.ts +13 -9
  33. package/dist/runtime/components/avatar/avatar.vue +4 -4
  34. package/dist/runtime/components/avatar/avatar.vue.d.ts +13 -9
  35. package/dist/runtime/components/avatar/index.d.ts +1 -0
  36. package/dist/runtime/components/avatar/index.js +1 -0
  37. package/dist/runtime/components/background-image.d.vue.ts +2 -1
  38. package/dist/runtime/components/background-image.vue.d.ts +2 -1
  39. package/dist/runtime/components/badge.d.vue.ts +21 -8
  40. package/dist/runtime/components/badge.vue +2 -2
  41. package/dist/runtime/components/badge.vue.d.ts +21 -8
  42. package/dist/runtime/components/box.d.vue.ts +5 -1
  43. package/dist/runtime/components/box.vue.d.ts +5 -1
  44. package/dist/runtime/components/breadcrumbs.d.vue.ts +23 -3
  45. package/dist/runtime/components/breadcrumbs.vue +79 -79
  46. package/dist/runtime/components/breadcrumbs.vue.d.ts +23 -3
  47. package/dist/runtime/components/button/button-group.d.vue.ts +4 -0
  48. package/dist/runtime/components/button/button-group.vue.d.ts +4 -0
  49. package/dist/runtime/components/button/button.d.vue.ts +22 -9
  50. package/dist/runtime/components/button/button.module.css +1 -1
  51. package/dist/runtime/components/button/button.vue +2 -1
  52. package/dist/runtime/components/button/button.vue.d.ts +22 -9
  53. package/dist/runtime/components/button/unstyled-button.vue +23 -23
  54. package/dist/runtime/components/calendar/calendar.d.vue.ts +1 -1
  55. package/dist/runtime/components/calendar/calendar.vue.d.ts +1 -1
  56. package/dist/runtime/components/calendar/index.d.ts +1 -1
  57. package/dist/runtime/components/calendar/index.js +1 -1
  58. package/dist/runtime/components/calendar/lib/context.d.ts +2 -2
  59. package/dist/runtime/components/calendar/lib/context.js +1 -1
  60. package/dist/runtime/components/calendar/lib/use-calendar-navigation.d.ts +2 -2
  61. package/dist/runtime/components/calendar/lib/use-calendar-navigation.js +1 -1
  62. package/dist/runtime/components/calendar/lib/use-calendar-selection.d.ts +3 -3
  63. package/dist/runtime/components/calendar/lib/use-calendar-selection.js +2 -2
  64. package/dist/runtime/components/calendar/ui/core/calendar-cell.d.vue.ts +1 -0
  65. package/dist/runtime/components/calendar/ui/core/calendar-cell.vue.d.ts +1 -0
  66. package/dist/runtime/components/calendar/ui/core/calendar-header.vue +95 -95
  67. package/dist/runtime/components/calendar/ui/core/calendar-root.d.vue.ts +3 -3
  68. package/dist/runtime/components/calendar/ui/core/calendar-root.vue +4 -4
  69. package/dist/runtime/components/calendar/ui/core/calendar-root.vue.d.ts +3 -3
  70. package/dist/runtime/components/calendar/ui/levels/calendar-decade.vue +40 -40
  71. package/dist/runtime/components/calendar/ui/levels/calendar-month.vue +1 -1
  72. package/dist/runtime/components/calendar/ui/levels/calendar-year.vue +41 -41
  73. package/dist/runtime/components/card/card-section.vue +3 -3
  74. package/dist/runtime/components/card/card.vue +3 -3
  75. package/dist/runtime/components/checkbox/checkbox-card.d.vue.ts +3 -0
  76. package/dist/runtime/components/checkbox/checkbox-card.vue +29 -14
  77. package/dist/runtime/components/checkbox/checkbox-card.vue.d.ts +3 -0
  78. package/dist/runtime/components/checkbox/checkbox-group.d.vue.ts +12 -1
  79. package/dist/runtime/components/checkbox/checkbox-group.vue +16 -6
  80. package/dist/runtime/components/checkbox/checkbox-group.vue.d.ts +12 -1
  81. package/dist/runtime/components/checkbox/checkbox-indicator.vue +118 -117
  82. package/dist/runtime/components/checkbox/checkbox.d.vue.ts +6 -2
  83. package/dist/runtime/components/checkbox/checkbox.vue +36 -19
  84. package/dist/runtime/components/checkbox/checkbox.vue.d.ts +6 -2
  85. package/dist/runtime/components/checkbox/lib/group.context.d.ts +15 -3
  86. package/dist/runtime/components/checkbox/lib/group.context.js +9 -7
  87. package/dist/runtime/components/chip/chip-group.vue +2 -2
  88. package/dist/runtime/components/chip/chip.d.vue.ts +1 -0
  89. package/dist/runtime/components/chip/chip.vue +10 -10
  90. package/dist/runtime/components/chip/chip.vue.d.ts +1 -0
  91. package/dist/runtime/components/chip/lib.js +1 -1
  92. package/dist/runtime/components/combobox/combobox-dropdown.vue +15 -15
  93. package/dist/runtime/components/combobox/combobox-empty.vue +3 -3
  94. package/dist/runtime/components/combobox/combobox-group.d.vue.ts +5 -5
  95. package/dist/runtime/components/combobox/combobox-group.vue +22 -22
  96. package/dist/runtime/components/combobox/combobox-group.vue.d.ts +5 -5
  97. package/dist/runtime/components/combobox/combobox-option-list.vue +3 -3
  98. package/dist/runtime/components/combobox/combobox-option.d.vue.ts +1 -1
  99. package/dist/runtime/components/combobox/combobox-option.vue +23 -28
  100. package/dist/runtime/components/combobox/combobox-option.vue.d.ts +1 -1
  101. package/dist/runtime/components/combobox/combobox-options-dropdown.d.vue.ts +6 -8
  102. package/dist/runtime/components/combobox/combobox-options-dropdown.vue +6 -7
  103. package/dist/runtime/components/combobox/combobox-options-dropdown.vue.d.ts +6 -8
  104. package/dist/runtime/components/combobox/combobox-root.d.vue.ts +6 -8
  105. package/dist/runtime/components/combobox/combobox-root.vue +4 -6
  106. package/dist/runtime/components/combobox/combobox-root.vue.d.ts +6 -8
  107. package/dist/runtime/components/combobox/combobox-target.vue +3 -3
  108. package/dist/runtime/components/combobox/combobox.module.css +1 -1
  109. package/dist/runtime/components/combobox/lib/context.d.ts +2 -2
  110. package/dist/runtime/components/combobox/lib/context.js +1 -1
  111. package/dist/runtime/components/combobox/lib/use-combobox/index.d.ts +70 -1
  112. package/dist/runtime/components/combobox/lib/use-combobox/index.js +104 -1
  113. package/dist/runtime/components/combobox/lib/use-combobox-data/get-parsed-combobox-data.d.ts +2 -2
  114. package/dist/runtime/components/combobox/lib/use-combobox-data/get-parsed-combobox-data.js +2 -1
  115. package/dist/runtime/components/combobox/lib/use-combobox-data/index.d.ts +7 -1
  116. package/dist/runtime/components/combobox/lib/use-combobox-data/index.js +24 -1
  117. package/dist/runtime/components/combobox/lib/utils/default-option-filter.d.ts +3 -3
  118. package/dist/runtime/components/combobox/lib/utils/default-option-filter.js +1 -1
  119. package/dist/runtime/components/combobox/lib/utils/index.d.ts +2 -3
  120. package/dist/runtime/components/combobox/lib/utils/index.js +2 -2
  121. package/dist/runtime/components/combobox/lib/utils/is-empty-combobox-data.d.ts +2 -2
  122. package/dist/runtime/components/combobox/lib/utils/is-guards.d.ts +2 -0
  123. package/dist/runtime/components/combobox/types.d.ts +34 -0
  124. package/dist/runtime/components/container.vue +8 -8
  125. package/dist/runtime/components/date-time-picker.d.vue.ts +3 -0
  126. package/dist/runtime/components/date-time-picker.vue +66 -66
  127. package/dist/runtime/components/date-time-picker.vue.d.ts +3 -0
  128. package/dist/runtime/components/dialog/index.d.ts +1 -1
  129. package/dist/runtime/components/dialog/lib.js +1 -1
  130. package/dist/runtime/components/dialog/ui/dialog-close-button.vue +11 -11
  131. package/dist/runtime/components/dialog/ui/dialog-header.vue +5 -5
  132. package/dist/runtime/components/dialog/ui/dialog-root.d.vue.ts +3 -2
  133. package/dist/runtime/components/dialog/ui/dialog-root.vue +1 -1
  134. package/dist/runtime/components/dialog/ui/dialog-root.vue.d.ts +3 -2
  135. package/dist/runtime/components/dialog/ui/dialog-title.vue +5 -5
  136. package/dist/runtime/components/drawer/drawer-close-button.vue +3 -3
  137. package/dist/runtime/components/drawer/drawer-header.vue +3 -3
  138. package/dist/runtime/components/drawer/drawer-root.vue +15 -15
  139. package/dist/runtime/components/drawer/drawer-title.vue +3 -3
  140. package/dist/runtime/components/index.d.ts +12 -11
  141. package/dist/runtime/components/index.js +1 -10
  142. package/dist/runtime/components/input/date-picker.vue +86 -86
  143. package/dist/runtime/components/input/email-input.vue +21 -21
  144. package/dist/runtime/components/input/lib/input-wrapper.context.d.ts +2 -1
  145. package/dist/runtime/components/input/number-input.d.vue.ts +1 -1
  146. package/dist/runtime/components/input/number-input.vue +132 -132
  147. package/dist/runtime/components/input/number-input.vue.d.ts +1 -1
  148. package/dist/runtime/components/input/password-input.vue +28 -28
  149. package/dist/runtime/components/input/text-input.d.vue.ts +2 -1
  150. package/dist/runtime/components/input/text-input.vue.d.ts +2 -1
  151. package/dist/runtime/components/input/ui/button-input.d.vue.ts +7 -2
  152. package/dist/runtime/components/input/ui/button-input.vue.d.ts +7 -2
  153. package/dist/runtime/components/input/ui/input-base.d.vue.ts +1 -0
  154. package/dist/runtime/components/input/ui/input-base.vue.d.ts +1 -0
  155. package/dist/runtime/components/input/ui/input-inline.d.vue.ts +12 -5
  156. package/dist/runtime/components/input/ui/input-inline.vue +9 -5
  157. package/dist/runtime/components/input/ui/input-inline.vue.d.ts +12 -5
  158. package/dist/runtime/components/input/ui/input-label.d.vue.ts +2 -0
  159. package/dist/runtime/components/input/ui/input-label.vue.d.ts +2 -0
  160. package/dist/runtime/components/input/ui/input-wrapper.d.vue.ts +1 -0
  161. package/dist/runtime/components/input/ui/input-wrapper.vue.d.ts +1 -0
  162. package/dist/runtime/components/link/link-button.vue +16 -16
  163. package/dist/runtime/components/link/link.d.vue.ts +1 -0
  164. package/dist/runtime/components/link/link.vue +10 -10
  165. package/dist/runtime/components/link/link.vue.d.ts +1 -0
  166. package/dist/runtime/components/loader/_loaders/bars-loader.vue +5 -5
  167. package/dist/runtime/components/loader/_loaders/dots-loader.vue +5 -5
  168. package/dist/runtime/components/loader/_loaders/oval-loader.vue +1 -1
  169. package/dist/runtime/components/loader/loader.d.vue.ts +6 -0
  170. package/dist/runtime/components/loader/loader.vue +1 -1
  171. package/dist/runtime/components/loader/loader.vue.d.ts +6 -0
  172. package/dist/runtime/components/modal/modal-close-button.vue +3 -3
  173. package/dist/runtime/components/modal/modal-header.vue +3 -3
  174. package/dist/runtime/components/modal/modal-root.vue +13 -13
  175. package/dist/runtime/components/modal/modal-title.vue +3 -3
  176. package/dist/runtime/components/nav-link/nav-icon-link.d.vue.ts +11 -4
  177. package/dist/runtime/components/nav-link/nav-icon-link.vue +15 -15
  178. package/dist/runtime/components/nav-link/nav-icon-link.vue.d.ts +11 -4
  179. package/dist/runtime/components/nav-link/nav-link.d.vue.ts +10 -6
  180. package/dist/runtime/components/nav-link/nav-link.vue +131 -131
  181. package/dist/runtime/components/nav-link/nav-link.vue.d.ts +10 -6
  182. package/dist/runtime/components/paper.d.vue.ts +1 -0
  183. package/dist/runtime/components/paper.vue.d.ts +1 -0
  184. package/dist/runtime/components/popover/lib/context.js +1 -1
  185. package/dist/runtime/components/popover/lib/get-arrow-position.d.ts +1 -1
  186. package/dist/runtime/components/popover/lib/use-popover.d.ts +1 -1
  187. package/dist/runtime/components/popover/popover-dropdown.vue +70 -69
  188. package/dist/runtime/components/popover/popover-target.vue +8 -8
  189. package/dist/runtime/components/popover/popover.d.vue.ts +1 -1
  190. package/dist/runtime/components/popover/popover.vue +1 -1
  191. package/dist/runtime/components/popover/popover.vue.d.ts +1 -1
  192. package/dist/runtime/components/popover/{types/index.d.ts → types.d.ts} +7 -6
  193. package/dist/runtime/components/progress/progress-label.vue +3 -3
  194. package/dist/runtime/components/progress/progress-root.d.vue.ts +4 -4
  195. package/dist/runtime/components/progress/progress-root.vue +3 -3
  196. package/dist/runtime/components/progress/progress-root.vue.d.ts +4 -4
  197. package/dist/runtime/components/progress/progress-section.vue +9 -9
  198. package/dist/runtime/components/progress/progress.vue +9 -9
  199. package/dist/runtime/components/renderless/renderless.vue +3 -3
  200. package/dist/runtime/components/roving-focus/index.d.ts +1 -1
  201. package/dist/runtime/components/roving-focus/index.js +1 -1
  202. package/dist/runtime/components/roving-focus/roving-focus-item.vue +15 -15
  203. package/dist/runtime/components/roving-focus/roving-focus.vue +1 -1
  204. package/dist/runtime/components/{select/select.d.vue.ts → select.d.vue.ts} +23 -10
  205. package/dist/runtime/components/{select/select.vue → select.vue} +59 -25
  206. package/dist/runtime/components/{select/select.vue.d.ts → select.vue.d.ts} +23 -10
  207. package/dist/runtime/components/switch/index.d.ts +3 -0
  208. package/dist/runtime/components/switch/index.js +1 -0
  209. package/dist/runtime/components/switch/lib/group.context.d.ts +34 -0
  210. package/dist/runtime/components/switch/lib/group.context.js +25 -0
  211. package/dist/runtime/components/switch/switch-group.d.vue.ts +42 -0
  212. package/dist/runtime/components/switch/switch-group.vue +50 -0
  213. package/dist/runtime/components/switch/switch-group.vue.d.ts +42 -0
  214. package/dist/runtime/components/switch/switch.d.vue.ts +50 -0
  215. package/dist/runtime/components/switch/switch.vue +328 -0
  216. package/dist/runtime/components/switch/switch.vue.d.ts +50 -0
  217. package/dist/runtime/components/table/index.d.ts +1 -1
  218. package/dist/runtime/components/table/index.js +1 -1
  219. package/dist/runtime/components/table/lib.d.ts +1 -1
  220. package/dist/runtime/components/table/table.d.ts +30 -30
  221. package/dist/runtime/components/table/{model.d.ts → types.d.ts} +3 -15
  222. package/dist/runtime/components/table/ui/table-sort-icon.d.vue.ts +1 -1
  223. package/dist/runtime/components/table/ui/table-sort-icon.vue.d.ts +1 -1
  224. package/dist/runtime/components/table/ui/table-sortable-header.d.vue.ts +1 -1
  225. package/dist/runtime/components/table/ui/table-sortable-header.vue +11 -11
  226. package/dist/runtime/components/table/ui/table-sortable-header.vue.d.ts +1 -1
  227. package/dist/runtime/components/table/ui/table.d.vue.ts +1 -1
  228. package/dist/runtime/components/table/ui/table.vue +1 -1
  229. package/dist/runtime/components/table/ui/table.vue.d.ts +1 -1
  230. package/dist/runtime/components/tabs/index.d.ts +4 -0
  231. package/dist/runtime/components/tabs/lib.d.ts +1 -0
  232. package/dist/runtime/components/tabs/lib.js +9 -1
  233. package/dist/runtime/components/tabs/tabs-list.vue +10 -10
  234. package/dist/runtime/components/tabs/tabs-panel.vue +11 -11
  235. package/dist/runtime/components/tabs/tabs-root.vue +12 -11
  236. package/dist/runtime/components/tabs/tabs-tab.vue +20 -20
  237. package/dist/runtime/components/text.vue +68 -68
  238. package/dist/runtime/components/textarea.vue +34 -34
  239. package/dist/runtime/components/time-picker/index.d.ts +1 -1
  240. package/dist/runtime/components/time-picker/index.js +1 -1
  241. package/dist/runtime/components/time-picker/lib/get-parsed-time.d.ts +1 -1
  242. package/dist/runtime/components/time-picker/lib/get-time-string.d.ts +1 -1
  243. package/dist/runtime/components/time-picker/lib/use-time-picker.d.ts +1 -1
  244. package/dist/runtime/components/time-picker/time-picker.d.vue.ts +8 -7
  245. package/dist/runtime/components/time-picker/time-picker.vue.d.ts +8 -7
  246. package/dist/runtime/components/time-picker/{model.d.ts → types.d.ts} +13 -0
  247. package/dist/runtime/components/title.vue +14 -14
  248. package/dist/runtime/components/{transition/transition.vue → transition.vue} +3 -3
  249. package/dist/runtime/components/tree/_ui/tree-item.d.vue.ts +1 -1
  250. package/dist/runtime/components/tree/_ui/tree-item.vue +131 -130
  251. package/dist/runtime/components/tree/_ui/tree-item.vue.d.ts +1 -1
  252. package/dist/runtime/components/tree/_ui/tree-root.d.vue.ts +1 -1
  253. package/dist/runtime/components/tree/_ui/tree-root.vue +22 -22
  254. package/dist/runtime/components/tree/_ui/tree-root.vue.d.ts +1 -1
  255. package/dist/runtime/components/tree/index.d.ts +1 -1
  256. package/dist/runtime/components/tree/index.js +1 -1
  257. package/dist/runtime/components/tree/lib/context.d.ts +1 -1
  258. package/dist/runtime/components/tree/lib/context.js +1 -1
  259. package/dist/runtime/components/tree/lib/filter-tree-items.d.ts +1 -1
  260. package/dist/runtime/components/tree/tree.d.vue.ts +1 -1
  261. package/dist/runtime/components/tree/tree.vue.d.ts +1 -1
  262. package/dist/runtime/components/visually-hidden/visually-hidden-input.d.vue.ts +2 -1
  263. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue +1 -1
  264. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue.d.ts +2 -1
  265. package/dist/runtime/components/visually-hidden/visually-hidden.vue +9 -9
  266. package/dist/runtime/composables/create-strict-injection.d.ts +42 -0
  267. package/dist/runtime/{composals → composables}/index.d.ts +2 -0
  268. package/dist/runtime/{composals → composables}/index.js +2 -0
  269. package/dist/runtime/composables/use-active-link.d.ts +15 -0
  270. package/dist/runtime/{composals → composables}/use-date-config.d.ts +10 -5
  271. package/dist/runtime/composables/use-selectable-group.d.ts +23 -0
  272. package/dist/runtime/composables/use-selectable-group.js +20 -0
  273. package/dist/runtime/{composals → composables}/use-style-resolver.d.ts +3 -0
  274. package/dist/runtime/composables/use-theme.d.ts +16 -0
  275. package/dist/runtime/modals/_confirm-modal/confirm-modal.d.vue.ts +1 -1
  276. package/dist/runtime/modals/_confirm-modal/confirm-modal.vue.d.ts +1 -1
  277. package/dist/runtime/modals/modal-manager.d.ts +28 -45
  278. package/dist/runtime/modals/modal-manager.js +8 -28
  279. package/dist/runtime/modals/modals-provider.d.vue.ts +1 -7
  280. package/dist/runtime/modals/modals-provider.vue +1 -7
  281. package/dist/runtime/modals/modals-provider.vue.d.ts +1 -7
  282. package/dist/runtime/modals/use-modal.d.ts +5 -14
  283. package/dist/runtime/modals/use-modal.js +3 -6
  284. package/dist/runtime/styles/dark-theme.css +1 -1
  285. package/dist/runtime/types/index.d.ts +2 -0
  286. package/dist/runtime/types/theme.d.ts +9 -0
  287. package/dist/runtime/utils/boolean/index.d.ts +2 -0
  288. package/dist/runtime/utils/boolean/index.js +2 -0
  289. package/dist/runtime/utils/boolean/is-falsy.d.ts +6 -0
  290. package/dist/runtime/utils/boolean/is-number-like.d.ts +8 -0
  291. package/dist/runtime/{const/index.d.ts → utils/color/const.d.ts} +1 -0
  292. package/dist/runtime/utils/{color-functions → color}/get-color-var.d.ts +3 -0
  293. package/dist/runtime/utils/color/get-gradient.d.ts +15 -0
  294. package/dist/runtime/utils/{color-functions → color}/get-gradient.js +1 -1
  295. package/dist/runtime/utils/color/index.d.ts +4 -0
  296. package/dist/runtime/utils/color/index.js +4 -0
  297. package/dist/runtime/utils/color/parse-theme-color.d.ts +36 -0
  298. package/dist/runtime/utils/css/get-mod.d.ts +9 -0
  299. package/dist/runtime/utils/{get-mod.js → css/get-mod.js} +1 -1
  300. package/dist/runtime/utils/css/get-size.d.ts +27 -0
  301. package/dist/runtime/utils/{get-size.js → css/get-size.js} +2 -2
  302. package/dist/runtime/utils/css/index.d.ts +3 -0
  303. package/dist/runtime/utils/css/index.js +3 -0
  304. package/dist/runtime/utils/css/rem.d.ts +10 -0
  305. package/dist/runtime/utils/date/create-months.d.ts +12 -0
  306. package/dist/runtime/utils/date/get-days-between.d.ts +5 -0
  307. package/dist/runtime/{helpers → utils}/date/is-weekend.d.ts +3 -0
  308. package/dist/runtime/utils/date/types.d.ts +10 -0
  309. package/dist/runtime/utils/index.d.ts +5 -7
  310. package/dist/runtime/utils/index.js +5 -7
  311. package/dist/runtime/utils/{create-variant-color-resolver.d.ts → style/create-variant-color-resolver.d.ts} +12 -0
  312. package/dist/runtime/utils/{create-variant-color-resolver.js → style/create-variant-color-resolver.js} +3 -3
  313. package/dist/runtime/utils/style/index.d.ts +1 -0
  314. package/dist/runtime/utils/style/index.js +1 -0
  315. package/dist/runtime/utils/tree.d.ts +20 -84
  316. package/package.json +5 -9
  317. package/dist/runtime/components/combobox/lib/use-combobox/use-combobox.d.ts +0 -70
  318. package/dist/runtime/components/combobox/lib/use-combobox/use-combobox.js +0 -97
  319. package/dist/runtime/components/combobox/lib/use-combobox-data/use-combobox-data.d.ts +0 -7
  320. package/dist/runtime/components/combobox/lib/use-combobox-data/use-combobox-data.js +0 -23
  321. package/dist/runtime/components/combobox/lib/utils/is-options-group.d.ts +0 -2
  322. package/dist/runtime/components/combobox/types/index.d.ts +0 -19
  323. package/dist/runtime/components/combobox/types/index.js +0 -1
  324. package/dist/runtime/components/combobox/types/item.d.ts +0 -22
  325. package/dist/runtime/components/select/index.d.ts +0 -1
  326. package/dist/runtime/components/transition/index.d.ts +0 -1
  327. package/dist/runtime/components/transition/index.js +0 -0
  328. package/dist/runtime/components/tree/model.js +0 -0
  329. package/dist/runtime/composals/use-active-link.d.ts +0 -5
  330. package/dist/runtime/composals/use-theme.d.ts +0 -9
  331. package/dist/runtime/helpers/create-strict-injection.d.ts +0 -94
  332. package/dist/runtime/helpers/date/create-months.d.ts +0 -3
  333. package/dist/runtime/helpers/date/get-days-between.d.ts +0 -1
  334. package/dist/runtime/helpers/date/types.d.ts +0 -19
  335. package/dist/runtime/helpers/index.d.ts +0 -1
  336. package/dist/runtime/helpers/index.js +0 -1
  337. package/dist/runtime/utils/color-functions/get-gradient.d.ts +0 -3
  338. package/dist/runtime/utils/color-functions/parse-theme-color.d.ts +0 -14
  339. package/dist/runtime/utils/converters/rem.d.ts +0 -2
  340. package/dist/runtime/utils/get-mod.d.ts +0 -2
  341. package/dist/runtime/utils/get-size.d.ts +0 -6
  342. /package/dist/runtime/components/avatar/{_lib → lib}/context.d.ts +0 -0
  343. /package/dist/runtime/components/avatar/{_lib → lib}/context.js +0 -0
  344. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials-color.d.ts +0 -0
  345. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials-color.js +0 -0
  346. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials.d.ts +0 -0
  347. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials.js +0 -0
  348. /package/dist/runtime/components/calendar/{model.d.ts → types.d.ts} +0 -0
  349. /package/dist/runtime/{helpers/date → components/calendar}/types.js +0 -0
  350. /package/dist/runtime/components/combobox/lib/utils/{is-options-group.js → is-guards.js} +0 -0
  351. /package/dist/runtime/components/{calendar/model.js → combobox/types.js} +0 -0
  352. /package/dist/runtime/components/dialog/{model.d.ts → types.d.ts} +0 -0
  353. /package/dist/runtime/components/{combobox/types/item.js → dialog/types.js} +0 -0
  354. /package/dist/runtime/components/input/{types/index.d.ts → types.d.ts} +0 -0
  355. /package/dist/runtime/components/{dialog/model.js → input/types.js} +0 -0
  356. /package/dist/runtime/components/{input/types/index.js → popover/types.js} +0 -0
  357. /package/dist/runtime/components/roving-focus/{_lib → lib}/context.d.ts +0 -0
  358. /package/dist/runtime/components/roving-focus/{_lib → lib}/context.js +0 -0
  359. /package/dist/runtime/components/{popover/types/index.js → table/types.js} +0 -0
  360. /package/dist/runtime/components/{select/index.js → time-picker/types.js} +0 -0
  361. /package/dist/runtime/components/{transition/transition.d.vue.ts → transition.d.vue.ts} +0 -0
  362. /package/dist/runtime/components/{transition/transition.vue.d.ts → transition.vue.d.ts} +0 -0
  363. /package/dist/runtime/components/tree/{model.d.ts → types.d.ts} +0 -0
  364. /package/dist/runtime/components/{table/model.js → tree/types.js} +0 -0
  365. /package/dist/runtime/{helpers → composables}/create-strict-injection.js +0 -0
  366. /package/dist/runtime/{composals → composables}/use-active-link.js +0 -0
  367. /package/dist/runtime/{composals → composables}/use-date-config.js +0 -0
  368. /package/dist/runtime/{composals → composables}/use-style-resolver.js +0 -0
  369. /package/dist/runtime/{composals → composables}/use-theme.js +0 -0
  370. /package/dist/runtime/{const/index.js → utils/color/const.js} +0 -0
  371. /package/dist/runtime/utils/{color-functions → color}/get-color-var.js +0 -0
  372. /package/dist/runtime/utils/{color-functions → color}/parse-theme-color.js +0 -0
  373. /package/dist/runtime/utils/{converters → css}/rem.js +0 -0
  374. /package/dist/runtime/{helpers → utils}/date/create-months.js +0 -0
  375. /package/dist/runtime/{helpers → utils}/date/get-days-between.js +0 -0
  376. /package/dist/runtime/{helpers → utils}/date/get-week-number.d.ts +0 -0
  377. /package/dist/runtime/{helpers → utils}/date/get-week-number.js +0 -0
  378. /package/dist/runtime/{helpers → utils}/date/index.d.ts +0 -0
  379. /package/dist/runtime/{helpers → utils}/date/index.js +0 -0
  380. /package/dist/runtime/{helpers → utils}/date/is-same-month.d.ts +0 -0
  381. /package/dist/runtime/{helpers → utils}/date/is-same-month.js +0 -0
  382. /package/dist/runtime/{helpers → utils}/date/is-same-week.d.ts +0 -0
  383. /package/dist/runtime/{helpers → utils}/date/is-same-week.js +0 -0
  384. /package/dist/runtime/{helpers → utils}/date/is-weekend.js +0 -0
  385. /package/dist/runtime/{components/time-picker/model.js → utils/date/types.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { DEFAULT_GRADIENT } from "../const/index.js";
2
- import { getGradient, getGradientOutline } from "./color-functions/get-gradient.js";
3
- import { getThemeColor, parseThemeColor } from "./color-functions/parse-theme-color.js";
1
+ import { DEFAULT_GRADIENT } from "../color/const.js";
2
+ import { getGradient, getGradientOutline } from "../color/get-gradient.js";
3
+ import { getThemeColor, parseThemeColor } from "../color/parse-theme-color.js";
4
4
  export function createVariantColorResolver({
5
5
  color = "primary",
6
6
  variant,
@@ -0,0 +1 @@
1
+ export * from './create-variant-color-resolver.js';
@@ -0,0 +1 @@
1
+ export * from "./create-variant-color-resolver.js";
@@ -1,107 +1,43 @@
1
- /** Represents a tree node with a value and optional children. */
1
+ /** Node of a generic string-keyed tree. */
2
2
  export interface TreeNode<T extends string = string> {
3
- /** The value stored in this tree node */
3
+ /** Path-like identifier of the node. */
4
4
  path: string;
5
- /** Optional array of child nodes */
5
+ /** Child nodes of this node. */
6
6
  children?: TreeNode<T>[];
7
7
  }
8
8
  /**
9
- * Filters tree nodes based on a predicate function.
10
- * Returns a new tree containing only nodes that match the predicate.
11
- * Parent nodes are kept if they have matching children.
9
+ * Returns a new tree containing only the nodes that match the predicate.
12
10
  *
13
- * @template Node - The type of tree nodes
14
- * @param {Node[]} tree - The tree to filter
15
- * @param {(node: Node) => boolean} predicate - Function to test each node
16
- * @returns {Node[]} New filtered tree
17
- * @example
18
- * const tree = [
19
- * { value: 'folder', children: [{ value: 'file1' }, { value: 'file2' }] },
20
- * { value: 'file3' }
21
- * ]
22
- * // Keep only folders (nodes with children)
23
- * filterTree(tree, node => node.children && node.children.length > 0)
24
- * // Result: [{ value: 'folder', children: [{ value: 'file1' }, { value: 'file2' }] }]
11
+ * A parent is kept whenever at least one of its (recursively filtered)
12
+ * descendants matches, even if the parent itself does not.
25
13
  */
26
14
  export declare function filterTree<Node extends TreeNode = TreeNode>(tree: Node[], predicate: (node: Node) => boolean): Node[];
27
15
  /**
28
- * Searches for a tree item by its value using depth-first search.
29
- * @template T - The type of node values
30
- * @param {TreeNode<T>[]} items - The array of tree nodes to search in
31
- * @param {T} path - The value to search for
32
- * @returns {TreeNode<T> | null} The found node or null if not found
33
- * @example
34
- * const tree = [{ value: 'folder', children: [{ value: 'file' }] }]
35
- * findTreeItem(tree, 'file') // { value: 'file' }
36
- * findTreeItem(tree, 'missing') // null
16
+ * Finds a tree node by its `path` using depth-first search.
17
+ *
18
+ * Returns `null` when no matching node exists.
37
19
  */
38
20
  export declare function findTreeItem<T extends string = string>(items: TreeNode<T>[], path: T): TreeNode<T> | null;
39
- /**
40
- * Flattens a tree structure into a single-level array in depth-first order.
41
- * @template T - The type of node values
42
- * @param {TreeNode<T>[]} tree - The tree to flatten
43
- * @returns {TreeNode<T>[]} Flattened array containing all nodes
44
- * @example
45
- * const tree = [
46
- * { value: 'root', children: [
47
- * { value: 'child1' },
48
- * { value: 'child2' }
49
- * ]}
50
- * ]
51
- * flatTree(tree) // [{ value: 'root', ... }, { value: 'child1' }, { value: 'child2' }]
52
- */
21
+ /** Flattens a tree into a single array in depth-first order. */
53
22
  export declare function flatTree<T extends string = string>(tree: TreeNode<T>[]): TreeNode<T>[];
54
23
  /**
55
- * Gets all descendant values of a specific node in the tree.
24
+ * Returns all descendant paths of the node with the given `path`.
56
25
  *
57
- * @template T - The type of node values
58
- * @param {TreeNode<T>[]} tree - The tree to search in
59
- * @param {T} path - The path of the parent node
60
- * @returns {T[]} Array of all descendant values (empty if node not found or has no children)
61
- * @example
62
- * const tree = [
63
- * { value: 'folder', children: [
64
- * { value: 'file1' },
65
- * { value: 'subfolder', children: [{ value: 'file2' }] }
66
- * ]}
67
- * ]
68
- * getBranchChildren(tree, 'folder') // ['file1', 'subfolder', 'file2']
69
- * getBranchChildren(tree, 'file1') // []
26
+ * The result is empty when the node is not found or has no children.
70
27
  */
71
28
  export declare function getBranchChildren<T extends string = string>(tree: TreeNode<T>[], path: T): T[];
72
29
  /**
73
- * Gets all node values between two specified values (inclusive) in tree traversal order.
74
- * If start comes after end in traversal order, the range is automatically reversed.
75
- * Uses a single-pass algorithm that flattens and searches simultaneously.
76
- * @template T - The type of node values
77
- * @param {TreeNode<T>[]} tree - The tree to search in
78
- * @param {T} start - The starting value
79
- * @param {T} end - The ending value
80
- * @returns {T[]} Array of values between start and end (inclusive), empty if either value not found
81
- * @example
82
- * const tree = [
83
- * { value: 'a', children: [{ value: 'b' }, { value: 'c' }] },
84
- * { value: 'd' }
85
- * ]
86
- * getItemsBetween(tree, 'b', 'd') // ['b', 'c', 'd']
87
- * getItemsBetween(tree, 'd', 'b') // ['b', 'c', 'd'] (auto-reversed)
88
- * getItemsBetween(tree, 'a', 'missing') // []
30
+ * Returns all node paths between `start` and `end` (inclusive) in
31
+ * depth-first traversal order.
32
+ *
33
+ * If `start` comes after `end` in traversal order, the range is
34
+ * automatically reversed. Returns an empty array when either endpoint is
35
+ * missing.
89
36
  */
90
37
  export declare function getTreeItemsBetween<T extends string = string>(tree: TreeNode<T>[], start: T, end: T): T[];
91
38
  /**
92
- * Removes nodes with specified values from the tree, including their subtrees.
93
- * Returns a new tree without modifying the original.
39
+ * Returns a new tree with the given paths and their subtrees removed.
94
40
  *
95
- * @template T - The type of node path
96
- * @param {TreeNode<T>[]} tree - The original tree (array of root nodes)
97
- * @param {T[]} valuesToRemove - Array of values to remove
98
- * @returns {TreeNode<T>[]} New tree with specified nodes and their subtrees removed
99
- * @example
100
- * const tree = [
101
- * { value: 'a', children: [{ value: 'b' }, { value: 'c' }] },
102
- * { value: 'd' }
103
- * ]
104
- * removeTreeNodes(tree, ['b', 'd']) // [{ value: 'a', children: [{ value: 'c' }] }]
105
- * removeTreeNodes(tree, ['a']) // [{ value: 'd' }]
41
+ * The input tree is not mutated.
106
42
  */
107
43
  export declare function removeTreeNodes<Node extends TreeNode = TreeNode, Path extends string = string>(tree: Node[], valuesToRemove: Path[]): Node[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuance-ui",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "A modern Vue UI library inspired by the best of the React ecosystem.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,9 +13,9 @@
13
13
  "types": "./dist/types.d.mts",
14
14
  "import": "./dist/module.mjs"
15
15
  },
16
- "./composals": {
17
- "types": "./dist/runtime/composals/index.d.ts",
18
- "import": "./dist/runtime/composals/index.js"
16
+ "./composables": {
17
+ "types": "./dist/runtime/composables/index.d.ts",
18
+ "import": "./dist/runtime/composables/index.js"
19
19
  },
20
20
  "./components": {
21
21
  "types": "./dist/runtime/components/index.d.ts",
@@ -25,10 +25,6 @@
25
25
  "types": "./dist/runtime/modals/index.d.ts",
26
26
  "import": "./dist/runtime/modals/index.js"
27
27
  },
28
- "./helpers": {
29
- "types": "./dist/runtime/helpers/index.d.ts",
30
- "import": "./dist/runtime/helpers/index.js"
31
- },
32
28
  "./utils": {
33
29
  "types": "./dist/runtime/utils/index.d.ts",
34
30
  "import": "./dist/runtime/utils/index.js"
@@ -51,7 +47,7 @@
51
47
  "dev:build": "nuxi build playground",
52
48
  "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
53
49
  "release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags",
54
- "lint": "eslint .",
50
+ "lint": "eslint ./src",
55
51
  "test": "vitest run",
56
52
  "test:watch": "vitest watch",
57
53
  "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
@@ -1,70 +0,0 @@
1
- import type { ModelRef, ShallowRef } from 'vue';
2
- import type { ComboboxDropdownEventSource } from '../../types/index.js';
3
- import type { ComboboxAttrs } from '../const.js';
4
- export interface ComboboxStore {
5
- /** Id passed to dropdown */
6
- listId: string;
7
- /** Opens dropdown */
8
- openDropdown: (eventSource?: ComboboxDropdownEventSource) => void;
9
- /** Closes dropdown */
10
- closeDropdown: (eventSource?: ComboboxDropdownEventSource) => void;
11
- /** Toggles dropdown opened state */
12
- toggleDropdown: (eventSource?: ComboboxDropdownEventSource) => void;
13
- /** Returns currently selected option index or `-1` if none of the options is selected */
14
- getSelectedOptionIx: () => number;
15
- /** Selects `Combobox.Option` by index */
16
- selectOption: (index: number) => void;
17
- /**
18
- * Selects first `Combobox.Option` with `active` prop.
19
- * If there are no such options, the function does nothing.
20
- */
21
- selectActiveOption: () => string | null;
22
- /**
23
- * Selects first `Combobox.Option` that is not disabled.
24
- * If there are no such options, the function does nothing.
25
- */
26
- selectFirstOption: () => string | null;
27
- /**
28
- * Selects next `Combobox.Option` that is not disabled.
29
- * If the current option is the last one, the function selects first option, if `loop` is true.
30
- */
31
- selectNextOption: () => string | null;
32
- /**
33
- * Selects previous `Combobox.Option` that is not disabled.
34
- * If the current option is the first one, the function selects last option, if `loop` is true.
35
- */
36
- selectPrevOption: () => string | null;
37
- /** Resets selected option index to -1, removes `data-combobox-selected` from selected option */
38
- resetSelectedOption: () => void;
39
- /**
40
- * Triggers `onClick` event of selected option.
41
- * If there is no selected option, the function does nothing.
42
- */
43
- clickSelectedOption: () => void;
44
- /**
45
- * Updates selected option index to currently selected or active option.
46
- * The function is required to be used with searchable components to update selected option index
47
- * when options list changes based on search query.
48
- */
49
- updateSelectedOptionIx: (target?: 'active' | 'selected', options?: {
50
- scrollIntoView?: boolean;
51
- }) => void;
52
- /** Ref of `Combobox.Search` input */
53
- searchRef: ShallowRef<HTMLInputElement | null>;
54
- /** Moves focus to `Combobox.Search` input */
55
- focusSearch: () => void;
56
- /** Ref of the target element */
57
- targetRef: ShallowRef<HTMLElement | null>;
58
- /** Moves focus to the target element */
59
- focusTarget: () => void;
60
- }
61
- export declare function useCombobox({ onSelect, onClear, onCloseDropdown, onOpenDropdown, opened, ..._options }: {
62
- attrs?: ComboboxAttrs;
63
- scrollBehavior?: ScrollBehavior;
64
- loop?: boolean;
65
- onSelect?: (ix: number) => void;
66
- onClear?: () => void;
67
- onOpenDropdown?: (eventSource: ComboboxDropdownEventSource) => void;
68
- onCloseDropdown?: (eventSource: ComboboxDropdownEventSource) => void;
69
- opened: ModelRef<boolean>;
70
- }): ComboboxStore;
@@ -1,97 +0,0 @@
1
- import { unrefElement } from "@vueuse/core";
2
- import { nextTick, shallowRef, useId } from "vue";
3
- import { COMBOBOX_ATTRS } from "../const.js";
4
- import {
5
- clearSelected,
6
- selectActiveOption,
7
- selectFirstOption,
8
- selectNextOption,
9
- selectOption,
10
- selectPrevOption,
11
- updateSelectedOptionIx
12
- } from "./handlers.js";
13
- export function useCombobox({ onSelect, onClear, onCloseDropdown, onOpenDropdown, opened, ..._options }) {
14
- const listId = useId();
15
- const targetRef = shallowRef(null);
16
- const searchRef = shallowRef(null);
17
- const openDropdown = (eventSource = "unknown") => {
18
- if (!opened.value) {
19
- opened.value = true;
20
- onOpenDropdown?.(eventSource);
21
- }
22
- };
23
- const closeDropdown = (eventSource = "unknown") => {
24
- if (opened.value) {
25
- opened.value = false;
26
- onCloseDropdown?.(eventSource);
27
- }
28
- };
29
- const toggleDropdown = (eventSource = "unknown") => {
30
- if (opened.value)
31
- closeDropdown(eventSource);
32
- else
33
- openDropdown(eventSource);
34
- };
35
- const options = {
36
- attrs: _options?.attrs ?? COMBOBOX_ATTRS,
37
- scrollBehavior: _options?.scrollBehavior ?? "instant",
38
- loop: _options?.loop ?? true,
39
- listId,
40
- selectFn: (ix) => ix ? `${ix}` : null
41
- };
42
- let selectedOptionIx = -1;
43
- const getSelectedIx = () => selectedOptionIx;
44
- const clear = () => {
45
- clearSelected(options);
46
- onClear?.();
47
- };
48
- const select = (ix) => {
49
- const res = selectOption(ix, { ...options, clearFn: clear });
50
- if (res) {
51
- selectedOptionIx = res.ix;
52
- onSelect?.(res.ix);
53
- return res.value;
54
- }
55
- return null;
56
- };
57
- options.selectFn = select;
58
- const selectActive = () => selectActiveOption(options);
59
- const selectNext = () => selectNextOption(getSelectedIx(), options);
60
- const selectPrev = () => selectPrevOption(getSelectedIx(), options);
61
- const selectFirst = () => selectFirstOption(options);
62
- const updateSelectedIx = (target) => updateSelectedOptionIx(target, options);
63
- const resetSelectedOption = () => {
64
- selectedOptionIx = -1;
65
- clear();
66
- };
67
- const clickSelectedOption = () => {
68
- const items = document.querySelectorAll(`#${options.listId} [${options.attrs.option}]`);
69
- const item = items?.[selectedOptionIx];
70
- item?.click();
71
- };
72
- const focusSearch = () => {
73
- nextTick(() => unrefElement(searchRef)?.focus());
74
- };
75
- const focusTarget = () => {
76
- nextTick(() => unrefElement(targetRef)?.focus());
77
- };
78
- return {
79
- listId,
80
- openDropdown,
81
- closeDropdown,
82
- toggleDropdown,
83
- selectOption: select,
84
- selectActiveOption: selectActive,
85
- selectNextOption: selectNext,
86
- selectPrevOption: selectPrev,
87
- selectFirstOption: selectFirst,
88
- resetSelectedOption,
89
- clickSelectedOption,
90
- getSelectedOptionIx: getSelectedIx,
91
- targetRef,
92
- focusTarget,
93
- searchRef,
94
- focusSearch,
95
- updateSelectedOptionIx: updateSelectedIx
96
- };
97
- }
@@ -1,7 +0,0 @@
1
- import type { ComboboxData, ComboboxItem, ComboboxItemExt, ComboboxParsedItem } from '../../types/index.js';
2
- export declare function getOptionsLockup<Value extends string = string, Ext extends ComboboxItemExt = object>(options: ComboboxParsedItem<Value, Ext>[]): Record<string, ComboboxItem<Value, Ext>>;
3
- export declare function getLabelsLockup<Value extends string = string, Ext extends ComboboxItemExt = object>(options: ComboboxParsedItem<Value, Ext>[]): Record<string, string>;
4
- export declare function useComboboxData<Value extends string = string, Ext extends ComboboxItemExt = object>(data: ComboboxData<Value, Ext>): {
5
- parsed: import("vue").ComputedRef<ComboboxParsedItem<Value, Ext>[]>;
6
- options: import("vue").ComputedRef<Record<string, ComboboxItem<Value, Ext>>>;
7
- };
@@ -1,23 +0,0 @@
1
- import { computed } from "vue";
2
- import { getParsedComboboxData } from "./get-parsed-combobox-data.js";
3
- export function getOptionsLockup(options) {
4
- return options.reduce((acc, item) => {
5
- if ("group" in item)
6
- return { ...acc, ...getOptionsLockup(item.items) };
7
- acc[item.value] = item;
8
- return acc;
9
- }, {});
10
- }
11
- export function getLabelsLockup(options) {
12
- return options.reduce((acc, item) => {
13
- if ("group" in item)
14
- return { ...acc, ...getLabelsLockup(item.items) };
15
- acc[item.label] = item;
16
- return acc;
17
- }, {});
18
- }
19
- export function useComboboxData(data) {
20
- const parsed = computed(() => getParsedComboboxData(data));
21
- const options = computed(() => getOptionsLockup(parsed.value));
22
- return { parsed, options };
23
- }
@@ -1,2 +0,0 @@
1
- import type { ComboboxItemExt, ComboboxParsedItem, ComboboxParsedItemGroup } from '../../types/index.js';
2
- export declare function isOptionsGroup<Value extends string = string, Ext extends ComboboxItemExt = object>(item: ComboboxParsedItem<Value, Ext>): item is ComboboxParsedItemGroup<Value, Ext>;
@@ -1,19 +0,0 @@
1
- import type { ComboboxItem, ComboboxItemExt, ComboboxItemGroup } from './item.js';
2
- export type ComboboxDropdownEventSource = 'keyboard' | 'mouse' | 'unknown';
3
- export type ComboboxData<Value extends string = string, Ext extends ComboboxItemExt = object> = (ComboboxItem<Value, Ext> | ComboboxItemGroup<Value, Ext>)[];
4
- export interface ComboboxRootEmits {
5
- clear: [];
6
- select: [number];
7
- /** Called when dropdown opens with event source: keyboard, mouse or unknown */
8
- open: [ComboboxDropdownEventSource];
9
- /** Called when dropdown closes with event source: keyboard, mouse or unknown */
10
- close: [ComboboxDropdownEventSource];
11
- /** Called when item is selected with the `Enter` key or by clicking it */
12
- submit: [string, ComboboxItem];
13
- }
14
- export interface ComboboxItemProps {
15
- withCheckIcon?: boolean;
16
- checkIcon?: string;
17
- iconPosition?: 'left' | 'right';
18
- }
19
- export * from './item.js';
@@ -1 +0,0 @@
1
- export * from "./item.js";
@@ -1,22 +0,0 @@
1
- interface BaseComboboxFields {
2
- value: string;
3
- label: string;
4
- disabled?: boolean;
5
- icon?: string;
6
- }
7
- export type ComboboxItemExt = Omit<object, keyof BaseComboboxFields>;
8
- export type ComboboxItem<Value extends string = string, Ext extends ComboboxItemExt = object> = BaseComboboxFields & {
9
- value: Value;
10
- } & Ext;
11
- export interface ComboboxParsedItemGroup<Value extends string = string, Ext extends ComboboxItemExt = object> {
12
- group: string;
13
- icon?: string;
14
- items: ComboboxItem<Value, Ext>[];
15
- }
16
- export type ComboboxParsedItem<Value extends string = string, Ext extends ComboboxItemExt = object> = ComboboxItem<Value, Ext> | ComboboxParsedItemGroup<Value, Ext>;
17
- export interface ComboboxItemGroup<Value extends string = string, Ext extends ComboboxItemExt = object> {
18
- group: string;
19
- icon?: string;
20
- items: ComboboxItem<Value, Ext>[];
21
- }
22
- export {};
@@ -1 +0,0 @@
1
- export type * from './select.vue';
@@ -1 +0,0 @@
1
- export type * from './transition.vue';
File without changes
File without changes
@@ -1,5 +0,0 @@
1
- import type { ComputedRef } from 'vue';
2
- import type { RouteLocationRaw } from 'vue-router';
3
- export declare function useActiveLink(href: RouteLocationRaw | undefined, options?: {
4
- exact?: boolean;
5
- }): ComputedRef<boolean>;
@@ -1,9 +0,0 @@
1
- import type { NuanceTheme } from '@nui/types';
2
- interface ThemeInstance {
3
- preference: NuanceTheme;
4
- readonly value: NuanceTheme;
5
- unknown: boolean;
6
- forced: boolean;
7
- }
8
- export declare function useTheme(): ThemeInstance;
9
- export {};
@@ -1,94 +0,0 @@
1
- import type { InjectionKey } from '@vue/runtime-core';
2
- import type { CreateInjectionStateOptions } from '@vueuse/core';
3
- interface StrictInjectionOptions<Return> extends Omit<CreateInjectionStateOptions<Return>, 'injectionKey'> {
4
- /**
5
- * The name of the context for error messages.
6
- * Used to generate helpful error when context is missing.
7
- *
8
- * @example 'ComboboxState', 'FormContext', 'DialogProvider'
9
- */
10
- name: string;
11
- injectionKey: InjectionKey<Return>;
12
- }
13
- type StrictInjectionReturn<Arguments extends Array<any>, Return> = Readonly<[
14
- /**
15
- * Provider function to be called in a parent component.
16
- * Creates and provides the state to all descendant components.
17
- *
18
- * @param args - Arguments passed to the composable function
19
- * @returns The state returned by the composable
20
- *
21
- * @example
22
- * ```vue
23
- * <script setup>
24
- * const state = useProvideComboboxState({ items: [] })
25
- * </script>
26
- * ```
27
- */
28
- useProvidingState: (...args: Arguments) => Return,
29
- /**
30
- * Consumer function to be called in a child component.
31
- * Injects the state provided by the nearest parent provider.
32
- *
33
- * @throws {Error} When called outside of a provider context
34
- * @returns The injected state
35
- *
36
- * @example
37
- * ```vue
38
- * <script setup>
39
- * const state = useComboboxState() // Throws if no provider found
40
- * </script>
41
- * ```
42
- */
43
- useInjectedState: () => Return
44
- ]>;
45
- /**
46
- * Creates a pair of composables for strict provide/inject pattern with required context.
47
- * Unlike Vue's standard inject, this ensures the context is always provided, throwing an error otherwise.
48
- *
49
- * This is useful for component libraries where certain child components must be used
50
- * within a specific parent component context.
51
- *
52
- * @template Arguments - The arguments accepted by the composable function
53
- * @template Return - The return type of the composable function
54
- *
55
- * @param composable - The composable function that creates the shared state
56
- * @param options - Configuration options including context name for error messages
57
- *
58
- * @returns A tuple of [useProvidingState, useInjectedState] functions
59
- *
60
- * @example
61
- * ```ts
62
- * // Define the state structure
63
- * interface ComboboxState {
64
- * items: string[]
65
- * selected: Ref<string | null>
66
- * }
67
- *
68
- * // Create the strict injection pair
69
- * const [useProvideComboboxState, useComboboxState] = createStrictInjection(
70
- * (state: ComboboxState) => {
71
- * return {
72
- * ...state,
73
- * select: (item: string) => { state.selected.value = item }
74
- * }
75
- * },
76
- * { name: 'ComboboxState' }
77
- * )
78
- *
79
- * // In parent component (Combobox.vue)
80
- * const state = useProvideComboboxState({
81
- * items: ['Apple', 'Banana', 'Cherry'],
82
- * selected: ref(null)
83
- * })
84
- *
85
- * // In child component (ComboboxOption.vue)
86
- * const { select, selected } = useComboboxState() // ✅ Works inside Combobox
87
- * // ❌ Throws "[useComboboxState] Missing provider. Make sure to call `useProvideComboboxState` in a parent component."
88
- * // if used outside Combobox context
89
- * ```
90
- *
91
- * @see {@link https://vueuse.org/shared/createInjectionState/ VueUse createInjectionState}
92
- */
93
- export declare function createStrictInjection<Arguments extends Array<any>, Return>(composable: (...args: Arguments) => Return, options: StrictInjectionOptions<Return>): StrictInjectionReturn<Arguments, Return>;
94
- export {};
@@ -1,3 +0,0 @@
1
- import type { DateInput } from '@formkit/tempo';
2
- import type { DateConfig } from '@nui/composals';
3
- export declare function createMonth(date: DateInput, config: DateConfig, fixedWeeks?: boolean): string[][];
@@ -1 +0,0 @@
1
- export declare function getDaysBetween(start: Date, end: Date): string[];
@@ -1,19 +0,0 @@
1
- import type { DateInput } from '@formkit/tempo';
2
- export type DateMatcher = (date: DateInput) => boolean;
3
- export interface CalendarGrid<T = string> {
4
- /**
5
- * A `DateInput` used to represent the month. Since days
6
- * from the previous and next months may be included in the
7
- * calendar grid, we need a source of truth for the value
8
- * the grid is representing.
9
- */
10
- value: DateInput;
11
- /**
12
- * An array of arrays representing the weeks in the calendar.
13
- * Each sub-array represents a week, and contains the dates for each
14
- * day in that week. This structure is useful for rendering the calendar
15
- * grid using a table, where each row represents a week and each cell
16
- * represents a day.
17
- */
18
- rows: T[][];
19
- }
@@ -1 +0,0 @@
1
- export * from './create-strict-injection.js';
@@ -1 +0,0 @@
1
- export * from "./create-strict-injection.js";
@@ -1,3 +0,0 @@
1
- import type { NuanceGradient, NuanceTheme } from '@nui/types';
2
- export declare function getGradient(gradient: NuanceGradient | undefined, theme: NuanceTheme): string;
3
- export declare function getGradientOutline(gradient: NuanceGradient | undefined, theme: NuanceTheme): string;
@@ -1,14 +0,0 @@
1
- import type { NuanceColorShade, NuanceTheme } from '@nui/types';
2
- interface ParseThemeColorResult {
3
- color: string;
4
- value: string;
5
- shade: NuanceColorShade | undefined;
6
- variable: `--${string}` | undefined;
7
- isThemeColor: boolean;
8
- }
9
- export declare function parseThemeColor({ color, theme, }: {
10
- color: unknown;
11
- theme: NuanceTheme;
12
- }): ParseThemeColorResult;
13
- export declare function getThemeColor(color: string | undefined, theme: NuanceTheme): string;
14
- export {};
@@ -1,2 +0,0 @@
1
- export declare const rem: (value: unknown) => string;
2
- export declare const em: (value: unknown) => string;
@@ -1,2 +0,0 @@
1
- export type Mod = Record<string, any>;
2
- export declare function getMod(props: Mod | Mod[]): Mod;
@@ -1,6 +0,0 @@
1
- export declare function getSize(size: unknown, prefix?: string, convertToRem?: boolean): string | undefined;
2
- export declare const getSpacing: (size: unknown) => string | undefined;
3
- export declare function getRadius(size: unknown): string | undefined;
4
- export declare const getFontSize: (size: unknown) => string | undefined;
5
- export declare const getLineHeight: (size: unknown) => string | undefined;
6
- export declare function getShadow(size: unknown): string | undefined;