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,20 +1,33 @@
1
- import type { NuanceColor, NuanceGradient, NuanceRadius, NuanceSize } from '../types/index.js';
1
+ import type { NuanceColor, NuanceGradient, NuanceRadius, NuanceSize } from '@nui/types';
2
2
  import type { BoxProps } from './box.vue.js';
3
3
  export interface BadgeProps extends BoxProps {
4
+ /**
5
+ * Visual variant
6
+ * @default `'filled'`
7
+ */
4
8
  variant?: 'filled' | 'light' | 'outline' | 'dot' | 'default' | 'gradient';
5
- /** Controls `font-size`, `height` and horizontal `padding` @default `'md'` */
9
+ /**
10
+ * Component size
11
+ * @default `'md'`
12
+ */
6
13
  size?: NuanceSize | string;
7
- /** If set, badge `min-width` becomes equal to its `height` and horizontal padding is removed */
14
+ /** Makes the badge width equal to its height and removes horizontal padding */
8
15
  circle?: boolean;
9
- /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default `'xl'` */
16
+ /**
17
+ * Border radius
18
+ * @default `'sm'`
19
+ */
10
20
  radius?: NuanceRadius;
11
- /** Key of `theme.colors` or any valid CSS color @default `theme.primaryColor` */
21
+ /** Color from theme */
12
22
  color?: NuanceColor | string;
13
- /** Gradient configuration used when `variant=\"gradient\"` @default `theme.defaultGradient` */
23
+ /** Gradient configuration (used with `variant="gradient"`) */
14
24
  gradient?: NuanceGradient;
15
- /** Determines whether Badge should take 100% of its parent width @default `false` */
25
+ /**
26
+ * Stretches the badge to fill its parent width
27
+ * @default `false`
28
+ */
16
29
  fullWidth?: boolean;
17
- /** Icon displayed before to the label */
30
+ /** Icon displayed before the label */
18
31
  icon?: string;
19
32
  }
20
33
  declare var __VLS_8: {}, __VLS_15: {}, __VLS_17: {};
@@ -1,8 +1,12 @@
1
1
  import type { Mod } from '@nui/utils';
2
2
  import type { Component } from 'vue';
3
3
  export interface BoxProps {
4
+ /**
5
+ * Rendered element or component
6
+ * @default `'div'`
7
+ */
4
8
  is?: keyof HTMLElementTagNameMap | Component;
5
- /** Element modifiers transformed into `data-` attributes, for example, `{ 'data-size': 'xl' }`, falsy values are removed */
9
+ /** Element modifiers transformed into `data-` attributes, falsy values are removed */
6
10
  mod?: Mod | Mod[] | Mod[][] | null;
7
11
  }
8
12
  declare var __VLS_8: {};
@@ -16,7 +16,7 @@ const _mod = computed(() => {
16
16
  </script>
17
17
 
18
18
  <template>
19
- <component :is v-bind='_mod'>
20
- <slot />
21
- </component>
19
+ <component :is v-bind='_mod'>
20
+ <slot />
21
+ </component>
22
22
  </template>
@@ -1,8 +1,12 @@
1
1
  import type { Mod } from '@nui/utils';
2
2
  import type { Component } from 'vue';
3
3
  export interface BoxProps {
4
+ /**
5
+ * Rendered element or component
6
+ * @default `'div'`
7
+ */
4
8
  is?: keyof HTMLElementTagNameMap | Component;
5
- /** Element modifiers transformed into `data-` attributes, for example, `{ 'data-size': 'xl' }`, falsy values are removed */
9
+ /** Element modifiers transformed into `data-` attributes, falsy values are removed */
6
10
  mod?: Mod | Mod[] | Mod[][] | null;
7
11
  }
8
12
  declare var __VLS_8: {};
@@ -4,21 +4,41 @@ import type { BoxProps } from './box.vue.js';
4
4
  import type { ButtonProps } from './button/button.vue.js';
5
5
  import type { LinkProps } from './link/index.js';
6
6
  export interface BreadcrumbsItem extends Omit<LinkProps, 'mod'> {
7
+ /** Marks item as active */
7
8
  active?: boolean;
9
+ /** Item label */
8
10
  label: string;
11
+ /** Icon displayed before the label */
9
12
  icon?: string;
13
+ /** Additional class applied to the item */
10
14
  class?: string;
15
+ /** Named slot used to render the item */
11
16
  slot?: string;
12
17
  }
13
18
  export interface BreadcrumbsProps extends BoxProps {
14
- /** Manual items array */
19
+ /** Items array */
15
20
  items?: MaybeRef<BreadcrumbsItem[]>;
16
- /** Separator icon between items @default `'gravity-ui:chevron-right'` */
21
+ /**
22
+ * Separator icon between items
23
+ * @default `'gravity-ui:chevron-right'`
24
+ */
17
25
  separator?: string;
18
- /** Controls spacing between separator and breadcrumb @default `'xs'` */
26
+ /** Spacing token */
19
27
  spacing?: NuanceSpacing;
28
+ /**
29
+ * Visual variant
30
+ * @default `'subtle'`
31
+ */
20
32
  variant?: ButtonProps['variant'];
33
+ /**
34
+ * Color from theme
35
+ * @default `'primary'`
36
+ */
21
37
  color?: ButtonProps['color'];
38
+ /**
39
+ * Component size
40
+ * @default `'compact-sm'`
41
+ */
22
42
  size?: ButtonProps['size'];
23
43
  }
24
44
  declare var __VLS_9: string, __VLS_10: {
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { useTheme } from "@nui/composals";
2
+ import { useTheme } from "@nui/composables";
3
3
  import { getSpacing } from "@nui/utils";
4
4
  import { computed, unref } from "vue";
5
5
  import Box from "./box.vue";
@@ -89,9 +89,9 @@ const breadcrumbs = computed(() => unref(items) ?? []);
89
89
  display: flex;
90
90
  gap: .25rem;
91
91
  align-items: center;
92
- text-transform: capitalize;
93
92
 
94
93
  font-weight: 600;
94
+ text-transform: capitalize;
95
95
  }
96
96
 
97
97
  .icon {
@@ -4,21 +4,41 @@ import type { BoxProps } from './box.vue.js';
4
4
  import type { ButtonProps } from './button/button.vue.js';
5
5
  import type { LinkProps } from './link/index.js';
6
6
  export interface BreadcrumbsItem extends Omit<LinkProps, 'mod'> {
7
+ /** Marks item as active */
7
8
  active?: boolean;
9
+ /** Item label */
8
10
  label: string;
11
+ /** Icon displayed before the label */
9
12
  icon?: string;
13
+ /** Additional class applied to the item */
10
14
  class?: string;
15
+ /** Named slot used to render the item */
11
16
  slot?: string;
12
17
  }
13
18
  export interface BreadcrumbsProps extends BoxProps {
14
- /** Manual items array */
19
+ /** Items array */
15
20
  items?: MaybeRef<BreadcrumbsItem[]>;
16
- /** Separator icon between items @default `'gravity-ui:chevron-right'` */
21
+ /**
22
+ * Separator icon between items
23
+ * @default `'gravity-ui:chevron-right'`
24
+ */
17
25
  separator?: string;
18
- /** Controls spacing between separator and breadcrumb @default `'xs'` */
26
+ /** Spacing token */
19
27
  spacing?: NuanceSpacing;
28
+ /**
29
+ * Visual variant
30
+ * @default `'subtle'`
31
+ */
20
32
  variant?: ButtonProps['variant'];
33
+ /**
34
+ * Color from theme
35
+ * @default `'primary'`
36
+ */
21
37
  color?: ButtonProps['color'];
38
+ /**
39
+ * Component size
40
+ * @default `'compact-sm'`
41
+ */
22
42
  size?: ButtonProps['size'];
23
43
  }
24
44
  declare var __VLS_9: string, __VLS_10: {
@@ -1,5 +1,9 @@
1
1
  import type { BoxProps } from '../box.vue.js';
2
2
  export interface ButtonGroupProps extends BoxProps {
3
+ /**
4
+ * Layout direction of the group
5
+ * @default 'horizontal'
6
+ */
3
7
  orientation?: 'horizontal' | 'vertical';
4
8
  }
5
9
  declare var __VLS_8: {};
@@ -9,7 +9,7 @@ const { is, mod, orientation = "horizontal" } = defineProps({
9
9
  </script>
10
10
 
11
11
  <template>
12
- <Box :is :mod='[mod, { orientation }]' :class='css.group' role='group'>
13
- <slot />
14
- </Box>
12
+ <Box :is :mod='[mod, { orientation }]' :class='css.group' role='group'>
13
+ <slot />
14
+ </Box>
15
15
  </template>
@@ -1,5 +1,9 @@
1
1
  import type { BoxProps } from '../box.vue.js';
2
2
  export interface ButtonGroupProps extends BoxProps {
3
+ /**
4
+ * Layout direction of the group
5
+ * @default 'horizontal'
6
+ */
3
7
  orientation?: 'horizontal' | 'vertical';
4
8
  }
5
9
  declare var __VLS_8: {};
@@ -1,35 +1,50 @@
1
- import type { NuanceColor, NuanceGradient, NuanceRadius, NuanceSize } from '@nui/types';
1
+ import type { Classes, NuanceColor, NuanceGradient, NuanceRadius, NuanceSize } from '@nui/types';
2
2
  import type { HTMLAttributes } from 'vue';
3
3
  import type { BoxProps } from '../box.vue.js';
4
4
  export interface ButtonProps extends BoxProps {
5
+ /** Component size */
5
6
  size?: NuanceSize | `compact-${NuanceSize}`;
7
+ /** Spacing token */
6
8
  spacing?: NuanceSize | string;
9
+ /**
10
+ * Visual variant
11
+ * @default `'default'`
12
+ */
7
13
  variant?: 'filled' | 'light' | 'outline' | 'subtle' | 'default' | 'gradient' | 'gradient-outline';
14
+ /** Gradient configuration (used with `variant="gradient"`) */
8
15
  gradient?: NuanceGradient;
16
+ /** Loading state */
9
17
  loading?: boolean;
18
+ /** Color from theme */
10
19
  color?: NuanceColor;
20
+ /** Border radius */
11
21
  radius?: NuanceRadius;
12
22
  /** Styles API */
13
- classes?: {
14
- root?: string | string[];
15
- inner?: string | string[];
16
- label?: string | string[];
17
- section?: string | string[];
18
- };
19
- /** section pointer-events */
23
+ classes?: Classes<'root' | 'inner' | 'label' | 'section'>;
24
+ /**
25
+ * `pointer-events` value for the left section
26
+ * @default `'none'`
27
+ */
20
28
  leftSectionPE?: CSSStyleDeclaration['pointerEvents'];
29
+ /** Extra attributes forwarded to the left section element */
21
30
  leftSectionProps?: HTMLAttributes;
22
- /** section pointer-events */
31
+ /** Icon displayed before the label */
32
+ icon?: string;
33
+ /**
34
+ * `pointer-events` value for the right section
35
+ * @default `'all'`
36
+ */
23
37
  rightSectionPE?: CSSStyleDeclaration['pointerEvents'];
38
+ /** Extra attributes forwarded to the right section element */
24
39
  rightSectionProps?: HTMLAttributes;
25
40
  }
26
- declare var __VLS_19: {}, __VLS_21: {}, __VLS_23: {};
41
+ declare var __VLS_19: {}, __VLS_26: {}, __VLS_28: {};
27
42
  type __VLS_Slots = {} & {
28
43
  leftSection?: (props: typeof __VLS_19) => any;
29
44
  } & {
30
- default?: (props: typeof __VLS_21) => any;
45
+ default?: (props: typeof __VLS_26) => any;
31
46
  } & {
32
- rightSection?: (props: typeof __VLS_23) => any;
47
+ rightSection?: (props: typeof __VLS_28) => any;
33
48
  };
34
49
  declare const __VLS_base: import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
50
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- .root{--button-height-xs:rem(30px);--button-height-sm:rem(36px);--button-height-md:rem(42px);--button-height-lg:rem(50px);--button-height-xl:rem(60px);--button-height-compact-xs:rem(22px);--button-height-compact-sm:rem(26px);--button-height-compact-md:rem(30px);--button-height-compact-lg:rem(34px);--button-height-compact-xl:rem(40px);--button-padding-x-xs:rem(14px);--button-padding-x-sm:rem(18px);--button-padding-x-md:rem(22px);--button-padding-x-lg:rem(26px);--button-padding-x-xl:rem(32px);--button-padding-x-compact-xs:rem(7px);--button-padding-x-compact-sm:rem(8px);--button-padding-x-compact-md:rem(10px);--button-padding-x-compact-lg:rem(12px);--button-padding-x-compact-xl:rem(14px);--button-height:var(--button-height-sm);--button-padding-x:var(--button-padding-x-sm);--button-color:var(--color-white);--button-fz:var(--font-size-sm);--button-bg:var(--color-primary-filled);--button-radius:var(--radius-default);--button-hover:var(--color-primary-filled-hover);--button-spacing:0;--button-section-size:calc(var(--button-height) - 0.25rem);background:var(--button-bg);border:var(--button-bd,rem(1px) solid transparent);border-radius:var(--button-radius);color:var(--button-color,var(--color-white));cursor:pointer;display:inline-block;font-size:var(--button-fz);font-weight:600;height:var(--button-height,var(--button-height-sm));line-height:1;overflow:hidden;padding-inline:var(--button-padding-x,var(--button-padding-x-sm));position:relative;text-align:center;transition:background-color .2s ease-in,color .2s ease-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:auto}.root:where([data-with-left-section]){padding-inline-start:0}.root:where([data-with-right-section]){padding-inline-end:0}.root:where([data-variant=gradient-outline]){background-clip:padding-box,border-box;background-origin:border-box}.root:where(:disabled:not([data-loading])){background:var(--color-disabled);border:1px solid transparent;color:var(--color-disabled);cursor:not-allowed;transform:none}.root:before{border-radius:var(--button-radius,var(--radius-default));content:"";filter:blur(12px);inset:-1px;opacity:0;pointer-events:none;position:absolute;transform:translateY(-100%);transition:transform .15s ease,opacity .1s ease;@mixin where-light{background:var(--color-gray-1);color:var(--color-gray-5)}@mixin where-dark{background:var(--color-dark-6);color:var(--color-dark-3)}}.root:where([data-loading]){cursor:not-allowed;transform:none}.root:where([data-loading]):before{opacity:1;transform:translateY(0)}.root:where([data-loading]) .inner{opacity:0;transform:translateY(100%)}.root:hover:where(:not([data-loading],:disabled)){background:var(--button-hover);color:var(--button-color)}.root:hover:where(:not([data-loading],:disabled)):where([data-variant=gradient-outline]){color:#fff}.inner{gap:var(--button-spacing);justify-content:center;overflow:visible;transition:transform .15s ease,opacity .1s ease;width:100%}.inner,.label{align-items:center;display:flex;height:100%}.label{flex:1;opacity:1;overflow:hidden;white-space:nowrap}.label:where([data-loading]){opacity:.2}.section{--section-pointer-events:none;align-items:center;display:flex;height:100%;justify-content:center;pointer-events:var(--section-pointer-events);width:var(--button-section-size)}.loader{left:calc(50% - var(--loader-size)/2);position:absolute;top:calc(50% - var(--loader-size)/2)}.group{--button-border-width:1px;display:flex}.group :where(.root):focus{position:relative;z-index:1}.group[data-orientation=horizontal]{flex-direction:row}.group[data-orientation=horizontal] .root:not(:only-child):first-child{border-end-end-radius:0;border-inline-end-width:calc(var(--button-border-width)/2);border-start-end-radius:0}.group[data-orientation=horizontal] .root:not(:only-child):last-child{border-end-start-radius:0;border-inline-start-width:calc(var(--button-border-width)/2);border-start-start-radius:0}.group[data-orientation=horizontal] .root:not(:only-child):not(:first-child):not(:last-child){border-inline-width:calc(var(--button-border-width)/2);border-radius:0}.group[data-orientation=vertical]{flex-direction:column}.group[data-orientation=vertical] .root:not(:only-child):first-child{border-bottom-width:calc(var(--button-border-width)/2);border-end-end-radius:0;border-end-start-radius:0}.group[data-orientation=vertical] .root:not(:only-child):last-child{border-start-end-radius:0;border-start-start-radius:0;border-top-width:calc(var(--button-border-width)/2)}.group[data-orientation=vertical] .root:not(:only-child):not(:first-child):not(:last-child){border-bottom-width:calc(var(--button-border-width)/2);border-radius:0;border-top-width:calc(var(--button-border-width)/2)}
1
+ .root{--button-height-xs:rem(30px);--button-height-sm:rem(36px);--button-height-md:rem(42px);--button-height-lg:rem(50px);--button-height-xl:rem(60px);--button-height-compact-xs:rem(22px);--button-height-compact-sm:rem(26px);--button-height-compact-md:rem(30px);--button-height-compact-lg:rem(34px);--button-height-compact-xl:rem(40px);--button-padding-x-xs:rem(14px);--button-padding-x-sm:rem(18px);--button-padding-x-md:rem(22px);--button-padding-x-lg:rem(26px);--button-padding-x-xl:rem(32px);--button-padding-x-compact-xs:rem(7px);--button-padding-x-compact-sm:rem(8px);--button-padding-x-compact-md:rem(10px);--button-padding-x-compact-lg:rem(12px);--button-padding-x-compact-xl:rem(14px);--button-height:var(--button-height-sm);--button-padding-x:var(--button-padding-x-sm);--button-color:var(--color-white);--button-fz:var(--font-size-sm);--button-bg:var(--color-primary-filled);--button-radius:var(--radius-default);--button-hover:var(--color-primary-filled-hover);--button-spacing:0;--button-section-size:calc(var(--button-height) - 0.25rem);background:var(--button-bg);border:var(--button-bd,rem(1px) solid transparent);border-radius:var(--button-radius);color:var(--button-color,var(--color-white));cursor:pointer;display:inline-block;font-size:var(--button-fz);font-weight:600;height:var(--button-height,var(--button-height-sm));line-height:1;overflow:hidden;padding-inline:var(--button-padding-x,var(--button-padding-x-sm));position:relative;text-align:center;transition:background-color .2s ease-in,color .2s ease-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:auto}.root:where([data-with-left-section]){padding-inline-start:0}.root:where([data-with-right-section]){padding-inline-end:0}.root:where([data-variant=gradient-outline]){background-clip:padding-box,border-box;background-origin:border-box}.root:where(:disabled:not([data-loading])){background:var(--color-disabled);border:1px solid transparent;color:var(--color-disabled);cursor:not-allowed;transform:none}.root:before{border-radius:var(--button-radius,var(--radius-default));content:"";filter:blur(12px);inset:-1px;opacity:0;pointer-events:none;position:absolute;transform:translateY(-100%);transition:transform .15s ease,opacity .1s ease;@mixin where-light{background:var(--color-gray-1);color:var(--color-gray-5)}@mixin where-dark{background:var(--color-dark-6);color:var(--color-dark-3)}}.root:where([data-loading]){cursor:not-allowed;transform:none}.root:where([data-loading]):before{opacity:1;transform:translateY(0)}.root:where([data-loading]) .inner{opacity:0;transform:translateY(100%)}.root:hover:where(:not([data-loading],:disabled)){background:var(--button-hover);color:var(--button-color)}.root:hover:where(:not([data-loading],:disabled)):where([data-variant=gradient-outline]){color:#fff}.inner{gap:var(--button-spacing);justify-content:center;overflow:visible;transition:transform .15s ease,opacity .1s ease;width:100%}.inner,.label{align-items:center;display:flex;height:100%}.label{flex:1;opacity:1;overflow:hidden;white-space:nowrap}.label:where([data-loading]){opacity:.2}.section{--section-pointer-events:none;align-items:center;display:flex;height:100%;justify-content:center;pointer-events:var(--section-pointer-events);width:var(--button-section-size)}.loader{left:calc(50% - var(--loader-size)/2);position:absolute;top:calc(50% - var(--loader-size)/2)}.group{--group-border-width:1px;display:flex}.group>:where(*):focus{position:relative;z-index:1}.group[data-orientation=horizontal]{flex-direction:row}.group[data-orientation=horizontal]>:where(*):not(:only-child):first-child{border-end-end-radius:0;border-inline-end-width:calc(var(--group-border-width)/2);border-start-end-radius:0}.group[data-orientation=horizontal]>:where(*):not(:only-child):last-child{border-end-start-radius:0;border-inline-start-width:calc(var(--group-border-width)/2);border-start-start-radius:0}.group[data-orientation=horizontal]>:where(*):not(:only-child):not(:first-child):not(:last-child){border-inline-width:calc(var(--group-border-width)/2);border-radius:0}.group[data-orientation=vertical]{flex-direction:column}.group[data-orientation=vertical]>:where(*):not(:only-child):first-child{border-bottom-width:calc(var(--group-border-width)/2);border-end-end-radius:0;border-end-start-radius:0}.group[data-orientation=vertical]>:where(*):not(:only-child):last-child{border-start-end-radius:0;border-start-start-radius:0;border-top-width:calc(var(--group-border-width)/2)}.group[data-orientation=vertical]>:where(*):not(:only-child):not(:first-child):not(:last-child){border-bottom-width:calc(var(--group-border-width)/2);border-radius:0;border-top-width:calc(var(--group-border-width)/2)}
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { useStyleResolver } from "@nui/composals";
2
+ import { useStyleResolver } from "@nui/composables";
3
3
  import { createVariantColorResolver, getFontSize, getRadius, getSize, getSpacing } from "@nui/utils";
4
4
  import { computed } from "vue";
5
5
  import Box from "../box.vue";
@@ -13,6 +13,7 @@ const {
13
13
  gradient,
14
14
  loading,
15
15
  classes,
16
+ icon,
16
17
  leftSectionPE = "none",
17
18
  leftSectionProps,
18
19
  rightSectionPE = "all",
@@ -31,6 +32,7 @@ const {
31
32
  classes: { type: Object, required: false },
32
33
  leftSectionPE: { type: null, required: false },
33
34
  leftSectionProps: { type: Object, required: false },
35
+ icon: { type: String, required: false },
34
36
  rightSectionPE: { type: null, required: false },
35
37
  rightSectionProps: { type: Object, required: false },
36
38
  is: { type: null, required: false },
@@ -69,9 +71,10 @@ const style = computed(() => useStyleResolver((theme) => {
69
71
  <template>
70
72
  <Box
71
73
  :is
74
+ type='button'
72
75
  :mod='[
73
76
  {
74
- "with-left-section": !!$slots?.leftSection,
77
+ "with-left-section": !!$slots?.leftSection || !!icon,
75
78
  "with-right-section": !!$slots?.rightSection
76
79
  },
77
80
  mod
@@ -86,13 +89,15 @@ const style = computed(() => useStyleResolver((theme) => {
86
89
 
87
90
  <span :class='[css.inner, classes?.inner]'>
88
91
  <span
89
- v-if='$slots.leftSection'
92
+ v-if='$slots.leftSection || icon'
90
93
  :class='[css.section, classes?.section]'
91
94
  data-position='left'
92
95
  v-bind='leftSectionProps'
93
96
  :style='style.leftSection'
94
97
  >
95
- <slot name='leftSection' />
98
+ <slot name='leftSection'>
99
+ <Icon v-if='icon' :name='icon' />
100
+ </slot>
96
101
  </span>
97
102
 
98
103
  <span :class='[css.label, classes?.label]'>
@@ -1,35 +1,50 @@
1
- import type { NuanceColor, NuanceGradient, NuanceRadius, NuanceSize } from '@nui/types';
1
+ import type { Classes, NuanceColor, NuanceGradient, NuanceRadius, NuanceSize } from '@nui/types';
2
2
  import type { HTMLAttributes } from 'vue';
3
3
  import type { BoxProps } from '../box.vue.js';
4
4
  export interface ButtonProps extends BoxProps {
5
+ /** Component size */
5
6
  size?: NuanceSize | `compact-${NuanceSize}`;
7
+ /** Spacing token */
6
8
  spacing?: NuanceSize | string;
9
+ /**
10
+ * Visual variant
11
+ * @default `'default'`
12
+ */
7
13
  variant?: 'filled' | 'light' | 'outline' | 'subtle' | 'default' | 'gradient' | 'gradient-outline';
14
+ /** Gradient configuration (used with `variant="gradient"`) */
8
15
  gradient?: NuanceGradient;
16
+ /** Loading state */
9
17
  loading?: boolean;
18
+ /** Color from theme */
10
19
  color?: NuanceColor;
20
+ /** Border radius */
11
21
  radius?: NuanceRadius;
12
22
  /** Styles API */
13
- classes?: {
14
- root?: string | string[];
15
- inner?: string | string[];
16
- label?: string | string[];
17
- section?: string | string[];
18
- };
19
- /** section pointer-events */
23
+ classes?: Classes<'root' | 'inner' | 'label' | 'section'>;
24
+ /**
25
+ * `pointer-events` value for the left section
26
+ * @default `'none'`
27
+ */
20
28
  leftSectionPE?: CSSStyleDeclaration['pointerEvents'];
29
+ /** Extra attributes forwarded to the left section element */
21
30
  leftSectionProps?: HTMLAttributes;
22
- /** section pointer-events */
31
+ /** Icon displayed before the label */
32
+ icon?: string;
33
+ /**
34
+ * `pointer-events` value for the right section
35
+ * @default `'all'`
36
+ */
23
37
  rightSectionPE?: CSSStyleDeclaration['pointerEvents'];
38
+ /** Extra attributes forwarded to the right section element */
24
39
  rightSectionProps?: HTMLAttributes;
25
40
  }
26
- declare var __VLS_19: {}, __VLS_21: {}, __VLS_23: {};
41
+ declare var __VLS_19: {}, __VLS_26: {}, __VLS_28: {};
27
42
  type __VLS_Slots = {} & {
28
43
  leftSection?: (props: typeof __VLS_19) => any;
29
44
  } & {
30
- default?: (props: typeof __VLS_21) => any;
45
+ default?: (props: typeof __VLS_26) => any;
31
46
  } & {
32
- rightSection?: (props: typeof __VLS_23) => any;
47
+ rightSection?: (props: typeof __VLS_28) => any;
33
48
  };
34
49
  declare const __VLS_base: import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
50
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,9 +1,9 @@
1
1
  import type { DateInput } from '@formkit/tempo';
2
2
  import type { NuanceSize } from '@nui/types';
3
- import type { CalendarLevel, DateSelection, SelectionMode } from './model.js';
3
+ import type { CalendarLevel, DateSelection, SelectionMode } from './types.js';
4
4
  import type { CalendarRootProps } from './ui/core/index.js';
5
5
  export interface CalendarProps<T extends SelectionMode = 'single'> extends CalendarRootProps<T> {
6
- /** Controls size */
6
+ /** Component size */
7
7
  size?: NuanceSize | string;
8
8
  /** Determines whether week numbers should be displayed @default `false` */
9
9
  withWeekNumbers?: boolean;
@@ -1,9 +1,9 @@
1
1
  import type { DateInput } from '@formkit/tempo';
2
2
  import type { NuanceSize } from '@nui/types';
3
- import type { CalendarLevel, DateSelection, SelectionMode } from './model.js';
3
+ import type { CalendarLevel, DateSelection, SelectionMode } from './types.js';
4
4
  import type { CalendarRootProps } from './ui/core/index.js';
5
5
  export interface CalendarProps<T extends SelectionMode = 'single'> extends CalendarRootProps<T> {
6
- /** Controls size */
6
+ /** Component size */
7
7
  size?: NuanceSize | string;
8
8
  /** Determines whether week numbers should be displayed @default `false` */
9
9
  withWeekNumbers?: boolean;
@@ -1,4 +1,4 @@
1
1
  export type * from './calendar.vue';
2
- export * from './model.js';
2
+ export * from './types.js';
3
3
  export type * from './ui/core';
4
4
  export type * from './ui/levels';
@@ -1 +1 @@
1
- export * from "./model.js";
1
+ export * from "./types.js";
@@ -1,6 +1,6 @@
1
1
  import type { DateInput, FormatToken } from '@formkit/tempo';
2
- import type { DateConfig } from '@nui/composals';
3
- import type { DateMatcher } from '@nui/helpers/date';
2
+ import type { DateConfig } from '@nui/composables';
3
+ import type { DateMatcher } from '@nui/utils';
4
4
  import type { ModelRef, Ref } from 'vue';
5
5
  interface State {
6
6
  date: ModelRef<DateInput>;
@@ -1,4 +1,4 @@
1
- import { createStrictInjection } from "@nui/helpers";
1
+ import { createStrictInjection } from "@nui/composables";
2
2
  const injectionKey = Symbol("nui-calendar");
3
3
  const [Provide, Inject] = createStrictInjection((state) => state, {
4
4
  injectionKey,
@@ -1,7 +1,7 @@
1
1
  import type { DateInput } from '@formkit/tempo';
2
- import type { DateConfig } from '@nui/composals';
2
+ import type { DateConfig } from '@nui/composables';
3
3
  import type { ModelRef } from 'vue';
4
- import type { CalendarLevel } from '../model.js';
4
+ import type { CalendarLevel } from '../types.js';
5
5
  export declare function useCalendarNavigation({ date, level, numberOfMonths, disabled, minDate, maxDate, prevDisabled, nextDisabled, minLevel, maxLevel, }: {
6
6
  date: ModelRef<DateInput>;
7
7
  level: ModelRef<CalendarLevel>;
@@ -1,5 +1,5 @@
1
1
  import { addMonth, addYear, date as fDate, format, isAfter, isBefore, sameYear } from "@formkit/tempo";
2
- import { isSameMonth } from "@nui/helpers/date";
2
+ import { isSameMonth } from "@nui/utils";
3
3
  import { computed } from "vue";
4
4
  const LEVEL_ORDER = ["month", "year", "decade"];
5
5
  export function useCalendarNavigation({
@@ -1,8 +1,8 @@
1
1
  import type { DateInput } from '@formkit/tempo';
2
- import type { DateConfig } from '@nui/composals';
3
- import type { DateMatcher } from '@nui/helpers/date';
2
+ import type { DateConfig } from '@nui/composables';
3
+ import type { DateMatcher } from '@nui/utils';
4
4
  import type { ModelRef } from 'vue';
5
- import type { DateSelection, SelectionMode } from '../model.js';
5
+ import type { DateSelection, SelectionMode } from '../types.js';
6
6
  export interface UseCalendarSelectionProps<T extends SelectionMode = 'single'> {
7
7
  mode: T;
8
8
  value: ModelRef<DateSelection<T>>;
@@ -1,6 +1,6 @@
1
1
  import { sameDay, weekEnd, weekStart } from "@formkit/tempo";
2
- import { createStrictInjection } from "@nui/helpers";
3
- import { isSameWeek } from "@nui/helpers/date";
2
+ import { createStrictInjection } from "@nui/composables";
3
+ import { isSameWeek } from "@nui/utils";
4
4
  const injectionKey = Symbol("nui-calendar-select");
5
5
  const [Provide, Inject] = createStrictInjection((state) => state, {
6
6
  injectionKey,
@@ -1,13 +1,14 @@
1
1
  import type { FormatOptions } from '@formkit/tempo';
2
2
  import type { CalendarHeaderEmits } from './ui/core/index.js';
3
- /**
4
- * `@formkit/tempo` config
5
- */
3
+ /** `@formkit/tempo` format options without the `date` field */
6
4
  export type CalendarSettings = Omit<FormatOptions, 'date'>;
5
+ /** Calendar drill-down level */
7
6
  export type CalendarLevel = 'month' | 'year' | 'decade';
7
+ /** Date selection mode */
8
8
  export type SelectionMode = 'single' | 'range' | 'week' | 'multiple';
9
9
  /** ISO string value */
10
10
  export type Selection = string | null;
11
+ /** Selected value shape based on the selection mode */
11
12
  export type DateSelection<T extends SelectionMode = 'single'> = T extends 'single' ? Selection : T extends 'range' ? [Selection, Selection] : T extends 'week' ? [Selection, Selection] : T extends 'multiple' ? Selection[] : never;
12
13
  export interface CalendarEmits<T extends SelectionMode = 'single'> extends CalendarHeaderEmits {
13
14
  select: [date: DateSelection<T>];
@@ -1,6 +1,7 @@
1
1
  import type { NuanceSize } from '@nui/types';
2
2
  import type { BoxProps } from '../../../box.vue.js';
3
3
  export interface CalendarCellProps extends BoxProps {
4
+ /** Component size */
4
5
  size?: NuanceSize | string;
5
6
  }
6
7
  declare var __VLS_8: {};