nuance-ui 0.2.6 → 0.2.8

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 (386) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +4 -5
  3. package/dist/runtime/components/action-icon/action-icon-group.d.vue.ts +4 -0
  4. package/dist/runtime/components/action-icon/action-icon-group.vue +3 -3
  5. package/dist/runtime/components/action-icon/action-icon-group.vue.d.ts +4 -0
  6. package/dist/runtime/components/action-icon/action-icon-section.d.vue.ts +9 -0
  7. package/dist/runtime/components/action-icon/action-icon-section.vue +4 -4
  8. package/dist/runtime/components/action-icon/action-icon-section.vue.d.ts +9 -0
  9. package/dist/runtime/components/action-icon/action-icon.d.vue.ts +14 -5
  10. package/dist/runtime/components/action-icon/action-icon.vue +2 -1
  11. package/dist/runtime/components/action-icon/action-icon.vue.d.ts +14 -5
  12. package/dist/runtime/components/alert.d.vue.ts +10 -14
  13. package/dist/runtime/components/alert.vue +129 -129
  14. package/dist/runtime/components/alert.vue.d.ts +10 -14
  15. package/dist/runtime/components/app-shell/app-shell-main.vue +18 -18
  16. package/dist/runtime/components/app-shell/app-shell-section.d.vue.ts +4 -1
  17. package/dist/runtime/components/app-shell/app-shell-section.vue.d.ts +4 -1
  18. package/dist/runtime/components/app-shell/app-shell.d.vue.ts +11 -3
  19. package/dist/runtime/components/app-shell/app-shell.vue +1 -1
  20. package/dist/runtime/components/app-shell/app-shell.vue.d.ts +11 -3
  21. package/dist/runtime/components/app-shell/context.d.ts +5 -0
  22. package/dist/runtime/components/avatar/avatar-group.d.vue.ts +1 -1
  23. package/dist/runtime/components/avatar/avatar-group.vue +4 -4
  24. package/dist/runtime/components/avatar/avatar-group.vue.d.ts +1 -1
  25. package/dist/runtime/components/avatar/avatar.d.vue.ts +13 -9
  26. package/dist/runtime/components/avatar/avatar.vue +4 -4
  27. package/dist/runtime/components/avatar/avatar.vue.d.ts +13 -9
  28. package/dist/runtime/components/avatar/index.d.ts +1 -0
  29. package/dist/runtime/components/avatar/index.js +1 -0
  30. package/dist/runtime/components/background-image.d.vue.ts +2 -1
  31. package/dist/runtime/components/background-image.vue +18 -18
  32. package/dist/runtime/components/background-image.vue.d.ts +2 -1
  33. package/dist/runtime/components/badge.d.vue.ts +21 -8
  34. package/dist/runtime/components/badge.vue +161 -162
  35. package/dist/runtime/components/badge.vue.d.ts +21 -8
  36. package/dist/runtime/components/box.d.vue.ts +5 -1
  37. package/dist/runtime/components/box.vue +3 -3
  38. package/dist/runtime/components/box.vue.d.ts +5 -1
  39. package/dist/runtime/components/breadcrumbs.d.vue.ts +23 -3
  40. package/dist/runtime/components/breadcrumbs.vue +2 -2
  41. package/dist/runtime/components/breadcrumbs.vue.d.ts +23 -3
  42. package/dist/runtime/components/button/button-group.d.vue.ts +4 -0
  43. package/dist/runtime/components/button/button-group.vue +3 -3
  44. package/dist/runtime/components/button/button-group.vue.d.ts +4 -0
  45. package/dist/runtime/components/button/button.d.vue.ts +27 -12
  46. package/dist/runtime/components/button/button.module.css +1 -1
  47. package/dist/runtime/components/button/button.vue +9 -4
  48. package/dist/runtime/components/button/button.vue.d.ts +27 -12
  49. package/dist/runtime/components/calendar/calendar.d.vue.ts +2 -2
  50. package/dist/runtime/components/calendar/calendar.vue.d.ts +2 -2
  51. package/dist/runtime/components/calendar/index.d.ts +1 -1
  52. package/dist/runtime/components/calendar/index.js +1 -1
  53. package/dist/runtime/components/calendar/lib/context.d.ts +2 -2
  54. package/dist/runtime/components/calendar/lib/context.js +1 -1
  55. package/dist/runtime/components/calendar/lib/use-calendar-navigation.d.ts +2 -2
  56. package/dist/runtime/components/calendar/lib/use-calendar-navigation.js +1 -1
  57. package/dist/runtime/components/calendar/lib/use-calendar-selection.d.ts +3 -3
  58. package/dist/runtime/components/calendar/lib/use-calendar-selection.js +2 -2
  59. package/dist/runtime/components/calendar/{model.d.ts → types.d.ts} +4 -3
  60. package/dist/runtime/components/calendar/ui/core/calendar-cell.d.vue.ts +1 -0
  61. package/dist/runtime/components/calendar/ui/core/calendar-cell.vue +115 -115
  62. package/dist/runtime/components/calendar/ui/core/calendar-cell.vue.d.ts +1 -0
  63. package/dist/runtime/components/calendar/ui/core/calendar-header.d.vue.ts +7 -1
  64. package/dist/runtime/components/calendar/ui/core/calendar-header.vue.d.ts +7 -1
  65. package/dist/runtime/components/calendar/ui/core/calendar-root.d.vue.ts +3 -3
  66. package/dist/runtime/components/calendar/ui/core/calendar-root.vue +1 -1
  67. package/dist/runtime/components/calendar/ui/core/calendar-root.vue.d.ts +3 -3
  68. package/dist/runtime/components/calendar/ui/levels/calendar-decade.d.vue.ts +3 -1
  69. package/dist/runtime/components/calendar/ui/levels/calendar-decade.vue.d.ts +3 -1
  70. package/dist/runtime/components/calendar/ui/levels/calendar-month.d.vue.ts +2 -1
  71. package/dist/runtime/components/calendar/ui/levels/calendar-month.vue +1 -1
  72. package/dist/runtime/components/calendar/ui/levels/calendar-month.vue.d.ts +2 -1
  73. package/dist/runtime/components/calendar/ui/levels/calendar-year.d.vue.ts +3 -1
  74. package/dist/runtime/components/calendar/ui/levels/calendar-year.vue +1 -1
  75. package/dist/runtime/components/calendar/ui/levels/calendar-year.vue.d.ts +3 -1
  76. package/dist/runtime/components/card/card-section.d.vue.ts +2 -1
  77. package/dist/runtime/components/card/card-section.vue.d.ts +2 -1
  78. package/dist/runtime/components/card/card.d.vue.ts +1 -0
  79. package/dist/runtime/components/card/card.vue.d.ts +1 -0
  80. package/dist/runtime/components/checkbox/checkbox-card.d.vue.ts +6 -0
  81. package/dist/runtime/components/checkbox/checkbox-card.vue +29 -14
  82. package/dist/runtime/components/checkbox/checkbox-card.vue.d.ts +6 -0
  83. package/dist/runtime/components/checkbox/checkbox-group.d.vue.ts +12 -1
  84. package/dist/runtime/components/checkbox/checkbox-group.vue +29 -19
  85. package/dist/runtime/components/checkbox/checkbox-group.vue.d.ts +12 -1
  86. package/dist/runtime/components/checkbox/checkbox-indicator.d.vue.ts +6 -0
  87. package/dist/runtime/components/checkbox/checkbox-indicator.vue +7 -6
  88. package/dist/runtime/components/checkbox/checkbox-indicator.vue.d.ts +6 -0
  89. package/dist/runtime/components/checkbox/checkbox.d.vue.ts +16 -2
  90. package/dist/runtime/components/checkbox/checkbox.vue +36 -19
  91. package/dist/runtime/components/checkbox/checkbox.vue.d.ts +16 -2
  92. package/dist/runtime/components/checkbox/lib/group.context.d.ts +15 -3
  93. package/dist/runtime/components/checkbox/lib/group.context.js +9 -7
  94. package/dist/runtime/components/chip/chip-group.d.vue.ts +3 -0
  95. package/dist/runtime/components/chip/chip-group.vue.d.ts +3 -0
  96. package/dist/runtime/components/chip/chip.d.vue.ts +10 -0
  97. package/dist/runtime/components/chip/chip.vue +10 -10
  98. package/dist/runtime/components/chip/chip.vue.d.ts +10 -0
  99. package/dist/runtime/components/chip/lib.js +1 -1
  100. package/dist/runtime/components/combobox/combobox-dropdown.vue +14 -14
  101. package/dist/runtime/components/combobox/combobox-group.d.vue.ts +3 -2
  102. package/dist/runtime/components/combobox/combobox-group.vue +21 -21
  103. package/dist/runtime/components/combobox/combobox-group.vue.d.ts +3 -2
  104. package/dist/runtime/components/combobox/combobox-option.d.vue.ts +4 -1
  105. package/dist/runtime/components/combobox/combobox-option.vue +22 -22
  106. package/dist/runtime/components/combobox/combobox-option.vue.d.ts +4 -1
  107. package/dist/runtime/components/combobox/combobox-options-dropdown.d.vue.ts +11 -1
  108. package/dist/runtime/components/combobox/combobox-options-dropdown.vue +29 -29
  109. package/dist/runtime/components/combobox/combobox-options-dropdown.vue.d.ts +11 -1
  110. package/dist/runtime/components/combobox/combobox-root.d.vue.ts +14 -10
  111. package/dist/runtime/components/combobox/combobox-root.vue.d.ts +14 -10
  112. package/dist/runtime/components/combobox/lib/context.d.ts +2 -2
  113. package/dist/runtime/components/combobox/lib/context.js +1 -1
  114. package/dist/runtime/components/combobox/lib/use-combobox/index.d.ts +70 -1
  115. package/dist/runtime/components/combobox/lib/use-combobox/index.js +104 -1
  116. package/dist/runtime/components/combobox/lib/use-combobox-data/get-parsed-combobox-data.d.ts +1 -1
  117. package/dist/runtime/components/combobox/lib/use-combobox-data/index.d.ts +7 -1
  118. package/dist/runtime/components/combobox/lib/use-combobox-data/index.js +24 -1
  119. package/dist/runtime/components/combobox/lib/utils/default-option-filter.d.ts +1 -1
  120. package/dist/runtime/components/combobox/lib/utils/is-empty-combobox-data.d.ts +1 -1
  121. package/dist/runtime/components/combobox/lib/utils/is-guards.d.ts +1 -1
  122. package/dist/runtime/components/combobox/types.d.ts +45 -0
  123. package/dist/runtime/components/container.d.vue.ts +2 -0
  124. package/dist/runtime/components/container.vue.d.ts +2 -0
  125. package/dist/runtime/components/date-time-picker.d.vue.ts +3 -0
  126. package/dist/runtime/components/date-time-picker.vue +1 -1
  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/{model.d.ts → types.d.ts} +1 -0
  131. package/dist/runtime/components/dialog/ui/dialog-root.d.vue.ts +3 -2
  132. package/dist/runtime/components/dialog/ui/dialog-root.vue +21 -21
  133. package/dist/runtime/components/dialog/ui/dialog-root.vue.d.ts +3 -2
  134. package/dist/runtime/components/files/file-upload-button.d.vue.ts +4 -2
  135. package/dist/runtime/components/files/file-upload-button.vue.d.ts +4 -2
  136. package/dist/runtime/components/files/file-upload-icon.d.vue.ts +4 -2
  137. package/dist/runtime/components/files/file-upload-icon.vue.d.ts +4 -2
  138. package/dist/runtime/components/index.d.ts +12 -11
  139. package/dist/runtime/components/index.js +1 -10
  140. package/dist/runtime/components/input/date-picker.vue +1 -1
  141. package/dist/runtime/components/input/email-input.d.vue.ts +5 -5
  142. package/dist/runtime/components/input/email-input.vue +5 -6
  143. package/dist/runtime/components/input/email-input.vue.d.ts +5 -5
  144. package/dist/runtime/components/input/lib/input-wrapper.context.d.ts +10 -3
  145. package/dist/runtime/components/input/number-input.d.vue.ts +8 -6
  146. package/dist/runtime/components/input/number-input.vue +6 -2
  147. package/dist/runtime/components/input/number-input.vue.d.ts +8 -6
  148. package/dist/runtime/components/input/password-input.vue +1 -0
  149. package/dist/runtime/components/input/text-input.d.vue.ts +9 -6
  150. package/dist/runtime/components/input/text-input.vue +6 -3
  151. package/dist/runtime/components/input/text-input.vue.d.ts +9 -6
  152. package/dist/runtime/components/input/ui/button-input.d.vue.ts +7 -2
  153. package/dist/runtime/components/input/ui/button-input.vue +64 -64
  154. package/dist/runtime/components/input/ui/button-input.vue.d.ts +7 -2
  155. package/dist/runtime/components/input/ui/input-base.d.vue.ts +1 -0
  156. package/dist/runtime/components/input/ui/input-base.vue +283 -283
  157. package/dist/runtime/components/input/ui/input-base.vue.d.ts +1 -0
  158. package/dist/runtime/components/input/ui/input-inline.d.vue.ts +16 -5
  159. package/dist/runtime/components/input/ui/input-inline.vue +9 -5
  160. package/dist/runtime/components/input/ui/input-inline.vue.d.ts +16 -5
  161. package/dist/runtime/components/input/ui/input-label.d.vue.ts +2 -0
  162. package/dist/runtime/components/input/ui/input-label.vue +4 -4
  163. package/dist/runtime/components/input/ui/input-label.vue.d.ts +2 -0
  164. package/dist/runtime/components/input/ui/input-wrapper.d.vue.ts +4 -0
  165. package/dist/runtime/components/input/ui/input-wrapper.vue.d.ts +4 -0
  166. package/dist/runtime/components/input/ui/spin-input.vue +69 -69
  167. package/dist/runtime/components/link/link-button.vue +1 -0
  168. package/dist/runtime/components/link/link.d.vue.ts +1 -0
  169. package/dist/runtime/components/link/link.vue.d.ts +1 -0
  170. package/dist/runtime/components/loader/loader.d.vue.ts +6 -0
  171. package/dist/runtime/components/loader/loader.vue +2 -2
  172. package/dist/runtime/components/loader/loader.vue.d.ts +6 -0
  173. package/dist/runtime/components/nav-link/nav-icon-link.d.vue.ts +11 -4
  174. package/dist/runtime/components/nav-link/nav-icon-link.vue.d.ts +11 -4
  175. package/dist/runtime/components/nav-link/nav-link.d.vue.ts +16 -10
  176. package/dist/runtime/components/nav-link/nav-link.vue +8 -4
  177. package/dist/runtime/components/nav-link/nav-link.vue.d.ts +16 -10
  178. package/dist/runtime/components/paper.d.vue.ts +3 -0
  179. package/dist/runtime/components/paper.vue.d.ts +3 -0
  180. package/dist/runtime/components/popover/lib/context.js +1 -1
  181. package/dist/runtime/components/popover/lib/get-arrow-position.d.ts +1 -1
  182. package/dist/runtime/components/popover/lib/use-popover.d.ts +1 -1
  183. package/dist/runtime/components/popover/popover.d.vue.ts +1 -1
  184. package/dist/runtime/components/popover/popover.vue.d.ts +1 -1
  185. package/dist/runtime/components/popover/{types/index.d.ts → types.d.ts} +7 -6
  186. package/dist/runtime/components/progress/progress-root.d.vue.ts +4 -4
  187. package/dist/runtime/components/progress/progress-root.vue.d.ts +4 -4
  188. package/dist/runtime/components/progress/progress-section.d.vue.ts +1 -1
  189. package/dist/runtime/components/progress/progress-section.vue +1 -1
  190. package/dist/runtime/components/progress/progress-section.vue.d.ts +1 -1
  191. package/dist/runtime/components/roving-focus/index.d.ts +1 -1
  192. package/dist/runtime/components/roving-focus/index.js +1 -1
  193. package/dist/runtime/components/roving-focus/roving-focus-item.vue +1 -1
  194. package/dist/runtime/components/roving-focus/roving-focus.vue +4 -4
  195. package/dist/runtime/components/{select/select.d.vue.ts → select.d.vue.ts} +8 -6
  196. package/dist/runtime/components/{select/select.vue → select.vue} +69 -69
  197. package/dist/runtime/components/{select/select.vue.d.ts → select.vue.d.ts} +8 -6
  198. package/dist/runtime/components/switch/index.d.ts +3 -0
  199. package/dist/runtime/components/switch/index.js +1 -0
  200. package/dist/runtime/components/switch/lib/group.context.d.ts +34 -0
  201. package/dist/runtime/components/switch/lib/group.context.js +25 -0
  202. package/dist/runtime/components/switch/switch-group.d.vue.ts +42 -0
  203. package/dist/runtime/components/switch/switch-group.vue +50 -0
  204. package/dist/runtime/components/switch/switch-group.vue.d.ts +42 -0
  205. package/dist/runtime/components/switch/switch.d.vue.ts +50 -0
  206. package/dist/runtime/components/switch/switch.vue +328 -0
  207. package/dist/runtime/components/switch/switch.vue.d.ts +50 -0
  208. package/dist/runtime/components/table/index.d.ts +1 -1
  209. package/dist/runtime/components/table/index.js +1 -1
  210. package/dist/runtime/components/table/lib.d.ts +1 -1
  211. package/dist/runtime/components/table/{model.d.ts → types.d.ts} +13 -16
  212. package/dist/runtime/components/table/ui/table-sort-icon.d.vue.ts +1 -1
  213. package/dist/runtime/components/table/ui/table-sort-icon.vue +1 -1
  214. package/dist/runtime/components/table/ui/table-sort-icon.vue.d.ts +1 -1
  215. package/dist/runtime/components/table/ui/table-sortable-header.d.vue.ts +1 -1
  216. package/dist/runtime/components/table/ui/table-sortable-header.vue +1 -0
  217. package/dist/runtime/components/table/ui/table-sortable-header.vue.d.ts +1 -1
  218. package/dist/runtime/components/table/ui/table.d.vue.ts +1 -1
  219. package/dist/runtime/components/table/ui/table.vue +296 -296
  220. package/dist/runtime/components/table/ui/table.vue.d.ts +1 -1
  221. package/dist/runtime/components/tabs/index.d.ts +4 -0
  222. package/dist/runtime/components/tabs/lib.d.ts +1 -0
  223. package/dist/runtime/components/tabs/lib.js +9 -1
  224. package/dist/runtime/components/tabs/tabs-list.d.vue.ts +2 -0
  225. package/dist/runtime/components/tabs/tabs-list.vue.d.ts +2 -0
  226. package/dist/runtime/components/tabs/tabs-panel.d.vue.ts +1 -0
  227. package/dist/runtime/components/tabs/tabs-panel.vue.d.ts +1 -0
  228. package/dist/runtime/components/tabs/tabs-root.d.vue.ts +36 -9
  229. package/dist/runtime/components/tabs/tabs-root.vue +4 -3
  230. package/dist/runtime/components/tabs/tabs-root.vue.d.ts +36 -9
  231. package/dist/runtime/components/tabs/tabs-tab.d.vue.ts +7 -3
  232. package/dist/runtime/components/tabs/tabs-tab.vue +7 -4
  233. package/dist/runtime/components/tabs/tabs-tab.vue.d.ts +7 -3
  234. package/dist/runtime/components/text.d.vue.ts +6 -1
  235. package/dist/runtime/components/text.vue +1 -1
  236. package/dist/runtime/components/text.vue.d.ts +6 -1
  237. package/dist/runtime/components/textarea.d.vue.ts +7 -5
  238. package/dist/runtime/components/textarea.vue +6 -3
  239. package/dist/runtime/components/textarea.vue.d.ts +7 -5
  240. package/dist/runtime/components/time-picker/index.d.ts +1 -1
  241. package/dist/runtime/components/time-picker/index.js +1 -1
  242. package/dist/runtime/components/time-picker/lib/get-parsed-time.d.ts +1 -1
  243. package/dist/runtime/components/time-picker/lib/get-time-string.d.ts +1 -1
  244. package/dist/runtime/components/time-picker/lib/use-time-picker.d.ts +1 -1
  245. package/dist/runtime/components/time-picker/time-picker.d.vue.ts +8 -7
  246. package/dist/runtime/components/time-picker/time-picker.vue +230 -230
  247. package/dist/runtime/components/time-picker/time-picker.vue.d.ts +8 -7
  248. package/dist/runtime/components/time-picker/{model.d.ts → types.d.ts} +13 -0
  249. package/dist/runtime/components/title.d.vue.ts +5 -0
  250. package/dist/runtime/components/title.vue.d.ts +5 -0
  251. package/dist/runtime/components/{transition/transition.d.vue.ts → transition.d.vue.ts} +12 -2
  252. package/dist/runtime/components/{transition/transition.vue.d.ts → transition.vue.d.ts} +12 -2
  253. package/dist/runtime/components/tree/_ui/tree-item.d.vue.ts +2 -1
  254. package/dist/runtime/components/tree/_ui/tree-item.vue +2 -2
  255. package/dist/runtime/components/tree/_ui/tree-item.vue.d.ts +2 -1
  256. package/dist/runtime/components/tree/_ui/tree-root.d.vue.ts +9 -1
  257. package/dist/runtime/components/tree/_ui/tree-root.vue +1 -1
  258. package/dist/runtime/components/tree/_ui/tree-root.vue.d.ts +9 -1
  259. package/dist/runtime/components/tree/index.d.ts +1 -1
  260. package/dist/runtime/components/tree/index.js +1 -1
  261. package/dist/runtime/components/tree/lib/context.d.ts +16 -1
  262. package/dist/runtime/components/tree/lib/context.js +1 -1
  263. package/dist/runtime/components/tree/lib/filter-tree-items.d.ts +1 -1
  264. package/dist/runtime/components/tree/tree.d.vue.ts +1 -1
  265. package/dist/runtime/components/tree/tree.vue +20 -20
  266. package/dist/runtime/components/tree/tree.vue.d.ts +1 -1
  267. package/dist/runtime/components/tree/{model.d.ts → types.d.ts} +9 -0
  268. package/dist/runtime/components/visually-hidden/visually-hidden-input.d.vue.ts +4 -1
  269. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue +1 -1
  270. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue.d.ts +4 -1
  271. package/dist/runtime/components/visually-hidden/visually-hidden.d.vue.ts +1 -0
  272. package/dist/runtime/components/visually-hidden/visually-hidden.vue.d.ts +1 -0
  273. package/dist/runtime/composables/create-strict-injection.d.ts +42 -0
  274. package/dist/runtime/{composals → composables}/index.d.ts +2 -0
  275. package/dist/runtime/{composals → composables}/index.js +2 -0
  276. package/dist/runtime/composables/use-active-link.d.ts +15 -0
  277. package/dist/runtime/{composals → composables}/use-date-config.d.ts +10 -5
  278. package/dist/runtime/composables/use-selectable-group.d.ts +23 -0
  279. package/dist/runtime/composables/use-selectable-group.js +20 -0
  280. package/dist/runtime/{composals → composables}/use-style-resolver.d.ts +3 -0
  281. package/dist/runtime/composables/use-theme.d.ts +16 -0
  282. package/dist/runtime/modals/_confirm-modal/confirm-modal.d.vue.ts +1 -1
  283. package/dist/runtime/modals/_confirm-modal/confirm-modal.vue +31 -31
  284. package/dist/runtime/modals/_confirm-modal/confirm-modal.vue.d.ts +1 -1
  285. package/dist/runtime/modals/modal-manager.d.ts +28 -45
  286. package/dist/runtime/modals/modal-manager.js +8 -28
  287. package/dist/runtime/modals/modals-provider.d.vue.ts +1 -7
  288. package/dist/runtime/modals/modals-provider.vue +10 -16
  289. package/dist/runtime/modals/modals-provider.vue.d.ts +1 -7
  290. package/dist/runtime/modals/use-modal.d.ts +5 -14
  291. package/dist/runtime/modals/use-modal.js +3 -6
  292. package/dist/runtime/types/index.d.ts +2 -0
  293. package/dist/runtime/types/theme.d.ts +9 -0
  294. package/dist/runtime/utils/boolean/index.d.ts +2 -0
  295. package/dist/runtime/utils/boolean/index.js +2 -0
  296. package/dist/runtime/utils/boolean/is-falsy.d.ts +6 -0
  297. package/dist/runtime/utils/boolean/is-number-like.d.ts +8 -0
  298. package/dist/runtime/{const/index.d.ts → utils/color/const.d.ts} +1 -0
  299. package/dist/runtime/utils/{color-functions → color}/get-color-var.d.ts +3 -0
  300. package/dist/runtime/utils/color/get-gradient.d.ts +15 -0
  301. package/dist/runtime/utils/{color-functions → color}/get-gradient.js +1 -1
  302. package/dist/runtime/utils/color/index.d.ts +4 -0
  303. package/dist/runtime/utils/color/index.js +4 -0
  304. package/dist/runtime/utils/color/parse-theme-color.d.ts +36 -0
  305. package/dist/runtime/utils/css/get-mod.d.ts +9 -0
  306. package/dist/runtime/utils/{get-mod.js → css/get-mod.js} +1 -1
  307. package/dist/runtime/utils/css/get-size.d.ts +27 -0
  308. package/dist/runtime/utils/{get-size.js → css/get-size.js} +2 -2
  309. package/dist/runtime/utils/css/index.d.ts +3 -0
  310. package/dist/runtime/utils/css/index.js +3 -0
  311. package/dist/runtime/utils/css/rem.d.ts +10 -0
  312. package/dist/runtime/utils/date/create-months.d.ts +12 -0
  313. package/dist/runtime/utils/date/get-days-between.d.ts +5 -0
  314. package/dist/runtime/{helpers → utils}/date/is-weekend.d.ts +3 -0
  315. package/dist/runtime/utils/date/types.d.ts +10 -0
  316. package/dist/runtime/utils/index.d.ts +5 -7
  317. package/dist/runtime/utils/index.js +5 -7
  318. package/dist/runtime/utils/{create-variant-color-resolver.d.ts → style/create-variant-color-resolver.d.ts} +12 -0
  319. package/dist/runtime/utils/{create-variant-color-resolver.js → style/create-variant-color-resolver.js} +3 -3
  320. package/dist/runtime/utils/style/index.d.ts +1 -0
  321. package/dist/runtime/utils/style/index.js +1 -0
  322. package/dist/runtime/utils/tree.d.ts +20 -84
  323. package/package.json +6 -10
  324. package/dist/runtime/components/combobox/lib/use-combobox/use-combobox.d.ts +0 -70
  325. package/dist/runtime/components/combobox/lib/use-combobox/use-combobox.js +0 -104
  326. package/dist/runtime/components/combobox/lib/use-combobox-data/use-combobox-data.d.ts +0 -7
  327. package/dist/runtime/components/combobox/lib/use-combobox-data/use-combobox-data.js +0 -24
  328. package/dist/runtime/components/combobox/types/index.d.ts +0 -19
  329. package/dist/runtime/components/combobox/types/index.js +0 -1
  330. package/dist/runtime/components/combobox/types/item.d.ts +0 -17
  331. package/dist/runtime/components/select/index.d.ts +0 -1
  332. package/dist/runtime/components/transition/index.d.ts +0 -1
  333. package/dist/runtime/components/transition/index.js +0 -0
  334. package/dist/runtime/components/tree/model.js +0 -0
  335. package/dist/runtime/composals/use-active-link.d.ts +0 -5
  336. package/dist/runtime/composals/use-theme.d.ts +0 -9
  337. package/dist/runtime/helpers/create-strict-injection.d.ts +0 -94
  338. package/dist/runtime/helpers/date/create-months.d.ts +0 -3
  339. package/dist/runtime/helpers/date/get-days-between.d.ts +0 -1
  340. package/dist/runtime/helpers/date/types.d.ts +0 -19
  341. package/dist/runtime/helpers/index.d.ts +0 -1
  342. package/dist/runtime/helpers/index.js +0 -1
  343. package/dist/runtime/utils/color-functions/get-gradient.d.ts +0 -3
  344. package/dist/runtime/utils/color-functions/parse-theme-color.d.ts +0 -14
  345. package/dist/runtime/utils/converters/rem.d.ts +0 -2
  346. package/dist/runtime/utils/get-mod.d.ts +0 -2
  347. package/dist/runtime/utils/get-size.d.ts +0 -6
  348. /package/dist/runtime/components/avatar/{_lib → lib}/context.d.ts +0 -0
  349. /package/dist/runtime/components/avatar/{_lib → lib}/context.js +0 -0
  350. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials-color.d.ts +0 -0
  351. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials-color.js +0 -0
  352. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials.d.ts +0 -0
  353. /package/dist/runtime/components/avatar/{_lib → lib}/get-initials.js +0 -0
  354. /package/dist/runtime/{helpers/date → components/calendar}/types.js +0 -0
  355. /package/dist/runtime/components/{calendar/model.js → combobox/types.js} +0 -0
  356. /package/dist/runtime/components/{combobox/types/item.js → dialog/types.js} +0 -0
  357. /package/dist/runtime/components/input/{types/index.d.ts → types.d.ts} +0 -0
  358. /package/dist/runtime/components/{dialog/model.js → input/types.js} +0 -0
  359. /package/dist/runtime/components/{input/types/index.js → popover/types.js} +0 -0
  360. /package/dist/runtime/components/roving-focus/{_lib → lib}/context.d.ts +0 -0
  361. /package/dist/runtime/components/roving-focus/{_lib → lib}/context.js +0 -0
  362. /package/dist/runtime/components/{popover/types/index.js → table/types.js} +0 -0
  363. /package/dist/runtime/components/{select/index.js → time-picker/types.js} +0 -0
  364. /package/dist/runtime/components/{transition/transition.vue → transition.vue} +0 -0
  365. /package/dist/runtime/components/{table/model.js → tree/types.js} +0 -0
  366. /package/dist/runtime/{helpers → composables}/create-strict-injection.js +0 -0
  367. /package/dist/runtime/{composals → composables}/use-active-link.js +0 -0
  368. /package/dist/runtime/{composals → composables}/use-date-config.js +0 -0
  369. /package/dist/runtime/{composals → composables}/use-style-resolver.js +0 -0
  370. /package/dist/runtime/{composals → composables}/use-theme.js +0 -0
  371. /package/dist/runtime/{const/index.js → utils/color/const.js} +0 -0
  372. /package/dist/runtime/utils/{color-functions → color}/get-color-var.js +0 -0
  373. /package/dist/runtime/utils/{color-functions → color}/parse-theme-color.js +0 -0
  374. /package/dist/runtime/utils/{converters → css}/rem.js +0 -0
  375. /package/dist/runtime/{helpers → utils}/date/create-months.js +0 -0
  376. /package/dist/runtime/{helpers → utils}/date/get-days-between.js +0 -0
  377. /package/dist/runtime/{helpers → utils}/date/get-week-number.d.ts +0 -0
  378. /package/dist/runtime/{helpers → utils}/date/get-week-number.js +0 -0
  379. /package/dist/runtime/{helpers → utils}/date/index.d.ts +0 -0
  380. /package/dist/runtime/{helpers → utils}/date/index.js +0 -0
  381. /package/dist/runtime/{helpers → utils}/date/is-same-month.d.ts +0 -0
  382. /package/dist/runtime/{helpers → utils}/date/is-same-month.js +0 -0
  383. /package/dist/runtime/{helpers → utils}/date/is-same-week.d.ts +0 -0
  384. /package/dist/runtime/{helpers → utils}/date/is-same-week.js +0 -0
  385. /package/dist/runtime/{helpers → utils}/date/is-weekend.js +0 -0
  386. /package/dist/runtime/{components/time-picker/model.js → utils/date/types.js} +0 -0
@@ -1,8 +1,11 @@
1
1
  import type { BoxProps } from '../box.vue.js';
2
- import type { ComboboxItem, ComboboxItemExt, ComboboxItemProps } from './types/index.js';
2
+ import type { ComboboxItem, ComboboxItemExt, ComboboxItemProps } from './types.js';
3
3
  export interface ComboboxOptionProps<Value extends string = string, Ext extends ComboboxItemExt = object> extends BoxProps, ComboboxItemProps {
4
+ /** Option data */
4
5
  data: ComboboxItem<Value, Ext>;
6
+ /** Whether this option is the active (highlighted) option */
5
7
  checked: boolean;
8
+ /** Whether this option is selected in the current value */
6
9
  selected?: boolean;
7
10
  }
8
11
  declare const __VLS_export: <Value extends string = string, Ext extends ComboboxItemExt = object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -37,26 +37,26 @@ const mod = computed(() => [
37
37
  </script>
38
38
 
39
39
  <template>
40
- <Box
41
- :class='css.option'
42
- data-combobox-option
43
- :mod
44
- role='option'
45
- :aria-selected='checked'
46
- @mousedown='() => !data?.disabled && onOptionSubmit?.(data.value, data)'
47
- >
48
- <slot :with-check-icon :icon-position :data :checked>
49
- <Icon
50
- v-if='checked && withCheckIcon && iconPosition === "left"'
51
- :class='css.optionCheck'
52
- :name='data?.icon ?? checkIcon'
53
- />
54
- <span>{{ data.label }}</span>
55
- <Icon
56
- v-if='checked && withCheckIcon && iconPosition === "right"'
57
- :class='css.optionCheck'
58
- :name='data?.icon ?? checkIcon'
59
- />
60
- </slot>
61
- </Box>
40
+ <Box
41
+ :class='css.option'
42
+ data-combobox-option
43
+ :mod
44
+ role='option'
45
+ :aria-selected='checked'
46
+ @mousedown='() => !data?.disabled && onOptionSubmit?.(data.value, data)'
47
+ >
48
+ <slot :with-check-icon :icon-position :data :checked>
49
+ <Icon
50
+ v-if='checked && withCheckIcon && iconPosition === "left"'
51
+ :class='css.optionCheck'
52
+ :name='data?.icon ?? checkIcon'
53
+ />
54
+ <span>{{ data.label }}</span>
55
+ <Icon
56
+ v-if='checked && withCheckIcon && iconPosition === "right"'
57
+ :class='css.optionCheck'
58
+ :name='data?.icon ?? checkIcon'
59
+ />
60
+ </slot>
61
+ </Box>
62
62
  </template>
@@ -1,8 +1,11 @@
1
1
  import type { BoxProps } from '../box.vue.js';
2
- import type { ComboboxItem, ComboboxItemExt, ComboboxItemProps } from './types/index.js';
2
+ import type { ComboboxItem, ComboboxItemExt, ComboboxItemProps } from './types.js';
3
3
  export interface ComboboxOptionProps<Value extends string = string, Ext extends ComboboxItemExt = object> extends BoxProps, ComboboxItemProps {
4
+ /** Option data */
4
5
  data: ComboboxItem<Value, Ext>;
6
+ /** Whether this option is the active (highlighted) option */
5
7
  checked: boolean;
8
+ /** Whether this option is selected in the current value */
6
9
  selected?: boolean;
7
10
  }
8
11
  declare const __VLS_export: <Value extends string = string, Ext extends ComboboxItemExt = object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -1,15 +1,25 @@
1
1
  import type { FilterOptionsInput } from './lib/utils/index.js';
2
- import type { ComboboxItemExt, ComboboxOption } from './types/index.js';
2
+ import type { ComboboxItemExt, ComboboxOption } from './types.js';
3
3
  export interface ComboboxOptionsDropdownProps<Value extends string = string, Ext extends ComboboxItemExt = object> {
4
+ /** List of options to render */
4
5
  data: ComboboxOption<Value, Ext>[];
6
+ /** Custom filter function applied to the options list */
5
7
  filter?: (input: FilterOptionsInput<Value, Ext>) => ComboboxOption<Value, Ext>[];
8
+ /** Maximum number of options to display */
6
9
  limit?: number;
10
+ /** Maximum height of the dropdown */
7
11
  maxDropdownHeight?: number | string;
12
+ /** Filters options by the current search value */
8
13
  filterOptions?: boolean;
14
+ /** Text shown when no options match the search */
9
15
  nothingFoundMessage?: string;
16
+ /** Id of the element that labels the options list */
10
17
  labelId: string | undefined;
18
+ /** Shows a check icon next to the selected option */
11
19
  withCheckIcon?: boolean;
20
+ /** Position of the check icon relative to the label */
12
21
  iconPosition?: 'left' | 'right';
22
+ /** Icon name for the check mark */
13
23
  checkIcon?: string;
14
24
  }
15
25
  declare const __VLS_export: <Value extends string = string, Ext extends ComboboxItemExt = object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -39,33 +39,33 @@ const filteredData = computed(() => typeof search.value === "string" ? (filter |
39
39
  </script>
40
40
 
41
41
  <template>
42
- <ComboboxDropdown>
43
- <ComboboxOptionList :labelled-by='labelId' v-bind='$attrs'>
44
- <template
45
- v-for='item in filteredData'
46
- :key='isOptionsGroup(item) ? item.group : item?.value'
47
- >
48
- <ComboboxGroup
49
- v-if='isOptionsGroup(item)'
50
- v-model:value='value'
51
- :label='item.group'
52
- :data='item'
53
- :with-check-icon
54
- :icon-position
55
- :check-icon
56
- />
57
- <ComboboxOptions
58
- v-else
59
- :data='item'
60
- :with-check-icon
61
- :icon-position
62
- :check-icon
63
- :checked='isValueChecked(value, item.value)'
64
- />
65
- </template>
66
- <ComboboxEmpty v-if='isEmpty'>
67
- {{ nothingFoundMessage }}
68
- </ComboboxEmpty>
69
- </ComboboxOptionList>
70
- </ComboboxDropdown>
42
+ <ComboboxDropdown>
43
+ <ComboboxOptionList :labelled-by='labelId' v-bind='$attrs'>
44
+ <template
45
+ v-for='item in filteredData'
46
+ :key='isOptionsGroup(item) ? item.group : item?.value'
47
+ >
48
+ <ComboboxGroup
49
+ v-if='isOptionsGroup(item)'
50
+ v-model:value='value'
51
+ :label='item.group'
52
+ :data='item'
53
+ :with-check-icon
54
+ :icon-position
55
+ :check-icon
56
+ />
57
+ <ComboboxOptions
58
+ v-else
59
+ :data='item'
60
+ :with-check-icon
61
+ :icon-position
62
+ :check-icon
63
+ :checked='isValueChecked(value, item.value)'
64
+ />
65
+ </template>
66
+ <ComboboxEmpty v-if='isEmpty'>
67
+ {{ nothingFoundMessage }}
68
+ </ComboboxEmpty>
69
+ </ComboboxOptionList>
70
+ </ComboboxDropdown>
71
71
  </template>
@@ -1,15 +1,25 @@
1
1
  import type { FilterOptionsInput } from './lib/utils/index.js';
2
- import type { ComboboxItemExt, ComboboxOption } from './types/index.js';
2
+ import type { ComboboxItemExt, ComboboxOption } from './types.js';
3
3
  export interface ComboboxOptionsDropdownProps<Value extends string = string, Ext extends ComboboxItemExt = object> {
4
+ /** List of options to render */
4
5
  data: ComboboxOption<Value, Ext>[];
6
+ /** Custom filter function applied to the options list */
5
7
  filter?: (input: FilterOptionsInput<Value, Ext>) => ComboboxOption<Value, Ext>[];
8
+ /** Maximum number of options to display */
6
9
  limit?: number;
10
+ /** Maximum height of the dropdown */
7
11
  maxDropdownHeight?: number | string;
12
+ /** Filters options by the current search value */
8
13
  filterOptions?: boolean;
14
+ /** Text shown when no options match the search */
9
15
  nothingFoundMessage?: string;
16
+ /** Id of the element that labels the options list */
10
17
  labelId: string | undefined;
18
+ /** Shows a check icon next to the selected option */
11
19
  withCheckIcon?: boolean;
20
+ /** Position of the check icon relative to the label */
12
21
  iconPosition?: 'left' | 'right';
22
+ /** Icon name for the check mark */
13
23
  checkIcon?: string;
14
24
  }
15
25
  declare const __VLS_export: <Value extends string = string, Ext extends ComboboxItemExt = object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -3,14 +3,18 @@ import type { CSSProperties } from 'vue';
3
3
  import type { PopoverProps } from '../popover/index.js';
4
4
  import type { ComboboxStore } from './lib/use-combobox/index.js';
5
5
  export interface ComboboxProps extends PopoverProps {
6
+ /** External combobox store; creates an internal one if omitted */
6
7
  store?: ComboboxStore;
7
- /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */
8
+ /** Loops arrow-key navigation from last item to first and back */
8
9
  loop?: boolean;
9
- /** Controls items `font-size` and `padding` @default `'sm'` */
10
+ /**
11
+ * Component size
12
+ * @default `'sm'`
13
+ */
10
14
  size?: NuanceSize;
11
- /** Controls `padding` of the dropdown @default `4` */
15
+ /** Padding token for the dropdown */
12
16
  dropdownPadding?: NuanceSize | CSSProperties['padding'];
13
- /** Determines whether the `Combobox` value can be changed */
17
+ /** Prevents value changes */
14
18
  readOnly?: boolean;
15
19
  }
16
20
  type __VLS_Props = ComboboxProps;
@@ -25,16 +29,16 @@ type __VLS_Slots = {} & {
25
29
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
26
30
  select: (args_0: number) => any;
27
31
  clear: () => any;
28
- close: (args_0: import("./types/index.js").ComboboxDropdownEventSource) => any;
29
- submit: (args_0: string, args_1: import("./types/index.js").ComboboxItem) => any;
30
- open: (args_0: import("./types/index.js").ComboboxDropdownEventSource) => any;
32
+ close: (args_0: import("./types.js").ComboboxDropdownEventSource) => any;
33
+ submit: (args_0: string, args_1: import("./types.js").ComboboxItem<string, object>) => any;
34
+ open: (args_0: import("./types.js").ComboboxDropdownEventSource) => any;
31
35
  "update:open": (value: boolean) => any;
32
36
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
33
37
  onSelect?: ((args_0: number) => any) | undefined;
34
38
  onClear?: (() => any) | undefined;
35
- onClose?: ((args_0: import("./types/index.js").ComboboxDropdownEventSource) => any) | undefined;
36
- onSubmit?: ((args_0: string, args_1: import("./types/index.js").ComboboxItem) => any) | undefined;
37
- onOpen?: ((args_0: import("./types/index.js").ComboboxDropdownEventSource) => any) | undefined;
39
+ onClose?: ((args_0: import("./types.js").ComboboxDropdownEventSource) => any) | undefined;
40
+ onSubmit?: ((args_0: string, args_1: import("./types.js").ComboboxItem<string, object>) => any) | undefined;
41
+ onOpen?: ((args_0: import("./types.js").ComboboxDropdownEventSource) => any) | undefined;
38
42
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
39
43
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
44
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -3,14 +3,18 @@ import type { CSSProperties } from 'vue';
3
3
  import type { PopoverProps } from '../popover/index.js';
4
4
  import type { ComboboxStore } from './lib/use-combobox/index.js';
5
5
  export interface ComboboxProps extends PopoverProps {
6
+ /** External combobox store; creates an internal one if omitted */
6
7
  store?: ComboboxStore;
7
- /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */
8
+ /** Loops arrow-key navigation from last item to first and back */
8
9
  loop?: boolean;
9
- /** Controls items `font-size` and `padding` @default `'sm'` */
10
+ /**
11
+ * Component size
12
+ * @default `'sm'`
13
+ */
10
14
  size?: NuanceSize;
11
- /** Controls `padding` of the dropdown @default `4` */
15
+ /** Padding token for the dropdown */
12
16
  dropdownPadding?: NuanceSize | CSSProperties['padding'];
13
- /** Determines whether the `Combobox` value can be changed */
17
+ /** Prevents value changes */
14
18
  readOnly?: boolean;
15
19
  }
16
20
  type __VLS_Props = ComboboxProps;
@@ -25,16 +29,16 @@ type __VLS_Slots = {} & {
25
29
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
26
30
  select: (args_0: number) => any;
27
31
  clear: () => any;
28
- close: (args_0: import("./types/index.js").ComboboxDropdownEventSource) => any;
29
- submit: (args_0: string, args_1: import("./types/index.js").ComboboxItem) => any;
30
- open: (args_0: import("./types/index.js").ComboboxDropdownEventSource) => any;
32
+ close: (args_0: import("./types.js").ComboboxDropdownEventSource) => any;
33
+ submit: (args_0: string, args_1: import("./types.js").ComboboxItem<string, object>) => any;
34
+ open: (args_0: import("./types.js").ComboboxDropdownEventSource) => any;
31
35
  "update:open": (value: boolean) => any;
32
36
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
33
37
  onSelect?: ((args_0: number) => any) | undefined;
34
38
  onClear?: (() => any) | undefined;
35
- onClose?: ((args_0: import("./types/index.js").ComboboxDropdownEventSource) => any) | undefined;
36
- onSubmit?: ((args_0: string, args_1: import("./types/index.js").ComboboxItem) => any) | undefined;
37
- onOpen?: ((args_0: import("./types/index.js").ComboboxDropdownEventSource) => any) | undefined;
39
+ onClose?: ((args_0: import("./types.js").ComboboxDropdownEventSource) => any) | undefined;
40
+ onSubmit?: ((args_0: string, args_1: import("./types.js").ComboboxItem<string, object>) => any) | undefined;
41
+ onOpen?: ((args_0: import("./types.js").ComboboxDropdownEventSource) => any) | undefined;
38
42
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
39
43
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
44
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,7 +1,7 @@
1
1
  import type { NuanceSize } from '@nui/types';
2
2
  import type { CSSProperties, ModelRef } from 'vue';
3
- import type { ComboboxItem } from '../types/index.js';
4
- import type { ComboboxStore } from './use-combobox/use-combobox.js';
3
+ import type { ComboboxItem } from '../types.js';
4
+ import type { ComboboxStore } from './use-combobox/index.js';
5
5
  interface ComboboxState {
6
6
  opened: ModelRef<boolean>;
7
7
  onOptionSubmit?: (value: string, option: ComboboxItem) => void;
@@ -1,4 +1,4 @@
1
- import { createStrictInjection } from "@nui/helpers";
1
+ import { createStrictInjection } from "@nui/composables";
2
2
  const injectionKey = Symbol("combobox-store");
3
3
  export const [useProvide, useState] = createStrictInjection((state) => state, {
4
4
  injectionKey,
@@ -1 +1,70 @@
1
- export { type ComboboxStore, useCombobox } from './use-combobox.js';
1
+ import type { ModelRef, ShallowRef } from 'vue';
2
+ import type { ComboboxDropdownEventSource } from '../../types.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 +1,104 @@
1
- export { useCombobox } from "./use-combobox.js";
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({
14
+ onSelect,
15
+ onClear,
16
+ onCloseDropdown,
17
+ onOpenDropdown,
18
+ opened,
19
+ ..._options
20
+ }) {
21
+ const listId = useId();
22
+ const targetRef = shallowRef(null);
23
+ const searchRef = shallowRef(null);
24
+ const openDropdown = (eventSource = "unknown") => {
25
+ if (!opened.value) {
26
+ opened.value = true;
27
+ onOpenDropdown?.(eventSource);
28
+ }
29
+ };
30
+ const closeDropdown = (eventSource = "unknown") => {
31
+ if (opened.value) {
32
+ opened.value = false;
33
+ onCloseDropdown?.(eventSource);
34
+ }
35
+ };
36
+ const toggleDropdown = (eventSource = "unknown") => {
37
+ if (opened.value)
38
+ closeDropdown(eventSource);
39
+ else
40
+ openDropdown(eventSource);
41
+ };
42
+ const options = {
43
+ attrs: _options?.attrs ?? COMBOBOX_ATTRS,
44
+ scrollBehavior: _options?.scrollBehavior ?? "instant",
45
+ loop: _options?.loop ?? true,
46
+ listId,
47
+ selectFn: (ix) => ix ? `${ix}` : null
48
+ };
49
+ let selectedOptionIx = -1;
50
+ const getSelectedIx = () => selectedOptionIx;
51
+ const clear = () => {
52
+ clearSelected(options);
53
+ onClear?.();
54
+ };
55
+ const select = (ix) => {
56
+ const res = selectOption(ix, { ...options, clearFn: clear });
57
+ if (res) {
58
+ selectedOptionIx = res.ix;
59
+ onSelect?.(res.ix);
60
+ return res.value;
61
+ }
62
+ return null;
63
+ };
64
+ options.selectFn = select;
65
+ const selectActive = () => selectActiveOption(options);
66
+ const selectNext = () => selectNextOption(getSelectedIx(), options);
67
+ const selectPrev = () => selectPrevOption(getSelectedIx(), options);
68
+ const selectFirst = () => selectFirstOption(options);
69
+ const updateSelectedIx = (target) => updateSelectedOptionIx(target, options);
70
+ const resetSelectedOption = () => {
71
+ selectedOptionIx = -1;
72
+ clear();
73
+ };
74
+ const clickSelectedOption = () => {
75
+ const items = document.querySelectorAll(`#${options.listId} [${options.attrs.option}]`);
76
+ const item = items?.[selectedOptionIx];
77
+ item?.click();
78
+ };
79
+ const focusSearch = () => {
80
+ nextTick(() => unrefElement(searchRef)?.focus());
81
+ };
82
+ const focusTarget = () => {
83
+ nextTick(() => unrefElement(targetRef)?.focus());
84
+ };
85
+ return {
86
+ listId,
87
+ openDropdown,
88
+ closeDropdown,
89
+ toggleDropdown,
90
+ selectOption: select,
91
+ selectActiveOption: selectActive,
92
+ selectNextOption: selectNext,
93
+ selectPrevOption: selectPrev,
94
+ selectFirstOption: selectFirst,
95
+ resetSelectedOption,
96
+ clickSelectedOption,
97
+ getSelectedOptionIx: getSelectedIx,
98
+ targetRef,
99
+ focusTarget,
100
+ searchRef,
101
+ focusSearch,
102
+ updateSelectedOptionIx: updateSelectedIx
103
+ };
104
+ }
@@ -1,2 +1,2 @@
1
- import type { ComboboxData, ComboboxItemExt, ComboboxOption } from '../../types/index.js';
1
+ import type { ComboboxData, ComboboxItemExt, ComboboxOption } from '../../types.js';
2
2
  export declare function getParsedComboboxData<Value extends string = string, Ext extends ComboboxItemExt = object>(data: ComboboxData<Value, Ext> | undefined): ComboboxOption<Value, Ext>[];
@@ -1 +1,7 @@
1
- export { useComboboxData } from './use-combobox-data.js';
1
+ import type { ComboboxData, ComboboxItem, ComboboxItemExt, ComboboxOption } from '../../types.js';
2
+ export declare function getOptionsLockup<Value extends string = string, Ext extends ComboboxItemExt = object>(options: ComboboxOption<Value, Ext>[]): Record<string, ComboboxItem<Value, Ext>>;
3
+ export declare function getLabelsLockup<Value extends string = string, Ext extends ComboboxItemExt = object>(options: ComboboxOption<Value, Ext>[]): Record<string, ComboboxOption<Value, Ext>>;
4
+ export declare function useComboboxData<Value extends string = string, Ext extends ComboboxItemExt = object>(data: ComboboxData<Value, Ext>): {
5
+ parsed: import("vue").ComputedRef<ComboboxOption<Value, Ext>[]>;
6
+ options: import("vue").ComputedRef<Record<string, ComboboxItem<Value, Ext>>>;
7
+ };
@@ -1 +1,24 @@
1
- export { useComboboxData } from "./use-combobox-data.js";
1
+ import { computed } from "vue";
2
+ import { isOptionsGroup } from "../utils/index.js";
3
+ import { getParsedComboboxData } from "./get-parsed-combobox-data.js";
4
+ export function getOptionsLockup(options) {
5
+ return options.reduce((acc, item) => {
6
+ if (isOptionsGroup(item))
7
+ return { ...acc, ...getOptionsLockup(item.items) };
8
+ acc[item.value] = item;
9
+ return acc;
10
+ }, {});
11
+ }
12
+ export function getLabelsLockup(options) {
13
+ return options.reduce((acc, item) => {
14
+ if (isOptionsGroup(item))
15
+ return { ...acc, ...getLabelsLockup(item.items) };
16
+ acc[item.label] = item;
17
+ return acc;
18
+ }, {});
19
+ }
20
+ export function useComboboxData(data) {
21
+ const parsed = computed(() => getParsedComboboxData(data));
22
+ const options = computed(() => getOptionsLockup(parsed.value));
23
+ return { parsed, options };
24
+ }
@@ -1,4 +1,4 @@
1
- import type { ComboboxItemExt, ComboboxOption } from '../../types/index.js';
1
+ import type { ComboboxItemExt, ComboboxOption } from '../../types.js';
2
2
  export interface FilterOptionsInput<Value extends string = string, Ext extends ComboboxItemExt = object> {
3
3
  options: ComboboxOption<Value, Ext>[];
4
4
  search: string;
@@ -1,2 +1,2 @@
1
- import type { ComboboxOption } from '../../types/index.js';
1
+ import type { ComboboxOption } from '../../types.js';
2
2
  export declare function isEmptyComboboxData(data: ComboboxOption[]): boolean;
@@ -1,2 +1,2 @@
1
- import type { ComboboxItemExt, ComboboxItemGroup, ComboboxOption } from '../../types/index.js';
1
+ import type { ComboboxItemExt, ComboboxItemGroup, ComboboxOption } from '../../types.js';
2
2
  export declare function isOptionsGroup<Value extends string = string, Ext extends ComboboxItemExt = object>(item: ComboboxOption<Value, Ext>): item is ComboboxItemGroup<Value, Ext>;
@@ -0,0 +1,45 @@
1
+ interface BaseComboboxFields {
2
+ value: string;
3
+ label: string;
4
+ disabled?: boolean;
5
+ icon?: string;
6
+ }
7
+ /** Extra fields allowed on a combobox item beyond the base fields */
8
+ export type ComboboxItemExt = Omit<object, keyof BaseComboboxFields>;
9
+ /** Single selectable option */
10
+ export type ComboboxItem<Value extends string = string, Ext extends ComboboxItemExt = object> = BaseComboboxFields & {
11
+ value: Value;
12
+ } & Ext;
13
+ /** Grouped set of combobox items */
14
+ export interface ComboboxItemGroup<_Value extends string = string, Ext extends ComboboxItemExt = object> {
15
+ /** Group label */
16
+ group: string;
17
+ /** Group icon */
18
+ icon?: string;
19
+ items: ComboboxItem<any, Ext>[];
20
+ }
21
+ /** A flat item or a group of items */
22
+ export type ComboboxOption<Value extends string = string, Ext extends ComboboxItemExt = object> = ComboboxItem<Value, Ext> | ComboboxItemGroup<Value, Ext>;
23
+ /** Full list of combobox options */
24
+ export type ComboboxData<Value extends string = string, Ext extends ComboboxItemExt = object> = ComboboxOption<Value, Ext>[];
25
+ /** Source that triggered a dropdown open/close event */
26
+ export type ComboboxDropdownEventSource = 'keyboard' | 'mouse' | 'unknown';
27
+ export interface ComboboxRootEmits {
28
+ clear: [];
29
+ select: [number];
30
+ /** Called when dropdown opens with event source: keyboard, mouse or unknown */
31
+ open: [ComboboxDropdownEventSource];
32
+ /** Called when dropdown closes with event source: keyboard, mouse or unknown */
33
+ close: [ComboboxDropdownEventSource];
34
+ /** Called when item is selected with the `Enter` key or by clicking it */
35
+ submit: [string, ComboboxItem];
36
+ }
37
+ export interface ComboboxItemProps {
38
+ /** Shows a check icon next to the selected option */
39
+ withCheckIcon?: boolean;
40
+ /** Icon name for the check mark */
41
+ checkIcon?: string;
42
+ /** Position of the check icon relative to the label */
43
+ iconPosition?: 'left' | 'right';
44
+ }
45
+ export {};
@@ -1,7 +1,9 @@
1
1
  import type { NuanceSize } from '@nui/types';
2
2
  import type { BoxProps } from './box.vue.js';
3
3
  export interface ContainerProps extends BoxProps {
4
+ /** Component size */
4
5
  size?: NuanceSize | string | number;
6
+ /** Removes max-width constraint */
5
7
  fluid?: boolean;
6
8
  }
7
9
  declare var __VLS_8: {};
@@ -1,7 +1,9 @@
1
1
  import type { NuanceSize } from '@nui/types';
2
2
  import type { BoxProps } from './box.vue.js';
3
3
  export interface ContainerProps extends BoxProps {
4
+ /** Component size */
4
5
  size?: NuanceSize | string | number;
6
+ /** Removes max-width constraint */
5
7
  fluid?: boolean;
6
8
  }
7
9
  declare var __VLS_8: {};
@@ -10,8 +10,11 @@ import type { TimePickerProps } from './time-picker/time-picker.vue.js';
10
10
  export interface DatePickerProps extends ButtonInputProps, Pick<TimePickerProps, 'withSeconds'> {
11
11
  /** Tempo format for date value @default `DD.MM.YYYY HH:mm` */
12
12
  format?: Format;
13
+ /** Props forwarded to the inner `Calendar` */
13
14
  calendarProps?: Partial<Omit<CalendarProps, 'numberOfMonths' | 'mode'>>;
15
+ /** Props forwarded to the inner `TimePicker` */
14
16
  timePickerProps?: Omit<Partial<TimePickerProps>, 'withSeconds' | 'name'>;
17
+ /** Shows a button to clear the value @default `false` */
15
18
  clearable?: boolean;
16
19
  }
17
20
  type __VLS_Props = DatePickerProps;
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import { format } from "@formkit/tempo";
3
- import { useDatesConfig } from "@nui/composals";
3
+ import { useDatesConfig } from "@nui/composables";
4
4
  import { computed } from "vue";
5
5
  import ActionIcon from "./action-icon/action-icon.vue";
6
6
  import Calendar from "./calendar/calendar.vue";