nuance-ui 0.1.1

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/README.md +90 -0
  2. package/dist/module.d.mts +24 -0
  3. package/dist/module.json +12 -0
  4. package/dist/module.mjs +96 -0
  5. package/dist/runtime/components/action-icon/action-icon-group.d.vue.ts +17 -0
  6. package/dist/runtime/components/action-icon/action-icon-group.vue +13 -0
  7. package/dist/runtime/components/action-icon/action-icon-group.vue.d.ts +17 -0
  8. package/dist/runtime/components/action-icon/action-icon-section.d.vue.ts +23 -0
  9. package/dist/runtime/components/action-icon/action-icon-section.vue +45 -0
  10. package/dist/runtime/components/action-icon/action-icon-section.vue.d.ts +23 -0
  11. package/dist/runtime/components/action-icon/action-icon.d.vue.ts +29 -0
  12. package/dist/runtime/components/action-icon/action-icon.module.css +1 -0
  13. package/dist/runtime/components/action-icon/action-icon.vue +71 -0
  14. package/dist/runtime/components/action-icon/action-icon.vue.d.ts +29 -0
  15. package/dist/runtime/components/action-icon/index.d.ts +3 -0
  16. package/dist/runtime/components/action-icon/index.js +0 -0
  17. package/dist/runtime/components/app-shell/app-shell-aside.d.vue.ts +14 -0
  18. package/dist/runtime/components/app-shell/app-shell-aside.vue +43 -0
  19. package/dist/runtime/components/app-shell/app-shell-aside.vue.d.ts +14 -0
  20. package/dist/runtime/components/app-shell/app-shell-footer.d.vue.ts +14 -0
  21. package/dist/runtime/components/app-shell/app-shell-footer.vue +42 -0
  22. package/dist/runtime/components/app-shell/app-shell-footer.vue.d.ts +14 -0
  23. package/dist/runtime/components/app-shell/app-shell-header.d.vue.ts +14 -0
  24. package/dist/runtime/components/app-shell/app-shell-header.vue +43 -0
  25. package/dist/runtime/components/app-shell/app-shell-header.vue.d.ts +14 -0
  26. package/dist/runtime/components/app-shell/app-shell-main.d.vue.ts +14 -0
  27. package/dist/runtime/components/app-shell/app-shell-main.vue +30 -0
  28. package/dist/runtime/components/app-shell/app-shell-main.vue.d.ts +14 -0
  29. package/dist/runtime/components/app-shell/app-shell-navbar.d.vue.ts +14 -0
  30. package/dist/runtime/components/app-shell/app-shell-navbar.vue +47 -0
  31. package/dist/runtime/components/app-shell/app-shell-navbar.vue.d.ts +14 -0
  32. package/dist/runtime/components/app-shell/app-shell-section.d.vue.ts +18 -0
  33. package/dist/runtime/components/app-shell/app-shell-section.vue +22 -0
  34. package/dist/runtime/components/app-shell/app-shell-section.vue.d.ts +18 -0
  35. package/dist/runtime/components/app-shell/app-shell.d.vue.ts +27 -0
  36. package/dist/runtime/components/app-shell/app-shell.vue +70 -0
  37. package/dist/runtime/components/app-shell/app-shell.vue.d.ts +27 -0
  38. package/dist/runtime/components/app-shell/index.d.ts +7 -0
  39. package/dist/runtime/components/app-shell/index.js +0 -0
  40. package/dist/runtime/components/background-image.d.vue.ts +10 -0
  41. package/dist/runtime/components/background-image.vue +37 -0
  42. package/dist/runtime/components/background-image.vue.d.ts +10 -0
  43. package/dist/runtime/components/box.d.vue.ts +20 -0
  44. package/dist/runtime/components/box.vue +14 -0
  45. package/dist/runtime/components/box.vue.d.ts +20 -0
  46. package/dist/runtime/components/button/button-group.d.vue.ts +17 -0
  47. package/dist/runtime/components/button/button-group.vue +13 -0
  48. package/dist/runtime/components/button/button-group.vue.d.ts +17 -0
  49. package/dist/runtime/components/button/button.d.vue.ts +40 -0
  50. package/dist/runtime/components/button/button.module.css +1 -0
  51. package/dist/runtime/components/button/button.vue +108 -0
  52. package/dist/runtime/components/button/button.vue.d.ts +40 -0
  53. package/dist/runtime/components/button/index.d.ts +3 -0
  54. package/dist/runtime/components/button/index.js +0 -0
  55. package/dist/runtime/components/button/unstyled-button.d.vue.ts +16 -0
  56. package/dist/runtime/components/button/unstyled-button.vue +37 -0
  57. package/dist/runtime/components/button/unstyled-button.vue.d.ts +16 -0
  58. package/dist/runtime/components/card/card-section.d.vue.ts +19 -0
  59. package/dist/runtime/components/card/card-section.vue +14 -0
  60. package/dist/runtime/components/card/card-section.vue.d.ts +19 -0
  61. package/dist/runtime/components/card/card.d.vue.ts +18 -0
  62. package/dist/runtime/components/card/card.module.css +1 -0
  63. package/dist/runtime/components/card/card.vue +18 -0
  64. package/dist/runtime/components/card/card.vue.d.ts +18 -0
  65. package/dist/runtime/components/card/index.d.ts +2 -0
  66. package/dist/runtime/components/card/index.js +0 -0
  67. package/dist/runtime/components/checkbox/checkbox-card.d.vue.ts +30 -0
  68. package/dist/runtime/components/checkbox/checkbox-card.vue +76 -0
  69. package/dist/runtime/components/checkbox/checkbox-card.vue.d.ts +30 -0
  70. package/dist/runtime/components/checkbox/checkbox-group.d.vue.ts +34 -0
  71. package/dist/runtime/components/checkbox/checkbox-group.vue +32 -0
  72. package/dist/runtime/components/checkbox/checkbox-group.vue.d.ts +34 -0
  73. package/dist/runtime/components/checkbox/checkbox-indicator.d.vue.ts +37 -0
  74. package/dist/runtime/components/checkbox/checkbox-indicator.vue +161 -0
  75. package/dist/runtime/components/checkbox/checkbox-indicator.vue.d.ts +37 -0
  76. package/dist/runtime/components/checkbox/checkbox.d.vue.ts +36 -0
  77. package/dist/runtime/components/checkbox/checkbox.vue +190 -0
  78. package/dist/runtime/components/checkbox/checkbox.vue.d.ts +36 -0
  79. package/dist/runtime/components/checkbox/index.d.ts +6 -0
  80. package/dist/runtime/components/checkbox/index.js +2 -0
  81. package/dist/runtime/components/checkbox/lib/card.context.d.ts +7 -0
  82. package/dist/runtime/components/checkbox/lib/card.context.js +8 -0
  83. package/dist/runtime/components/checkbox/lib/group.context.d.ts +16 -0
  84. package/dist/runtime/components/checkbox/lib/group.context.js +15 -0
  85. package/dist/runtime/components/chip/chip-group.d.vue.ts +24 -0
  86. package/dist/runtime/components/chip/chip-group.vue +20 -0
  87. package/dist/runtime/components/chip/chip-group.vue.d.ts +24 -0
  88. package/dist/runtime/components/chip/chip.d.vue.ts +35 -0
  89. package/dist/runtime/components/chip/chip.vue +270 -0
  90. package/dist/runtime/components/chip/chip.vue.d.ts +35 -0
  91. package/dist/runtime/components/chip/index.d.ts +3 -0
  92. package/dist/runtime/components/chip/index.js +1 -0
  93. package/dist/runtime/components/chip/lib.d.ts +14 -0
  94. package/dist/runtime/components/chip/lib.js +25 -0
  95. package/dist/runtime/components/combobox/combobox-dropdown.d.vue.ts +13 -0
  96. package/dist/runtime/components/combobox/combobox-dropdown.vue +33 -0
  97. package/dist/runtime/components/combobox/combobox-dropdown.vue.d.ts +13 -0
  98. package/dist/runtime/components/combobox/combobox-empty.d.vue.ts +16 -0
  99. package/dist/runtime/components/combobox/combobox-empty.vue +11 -0
  100. package/dist/runtime/components/combobox/combobox-empty.vue.d.ts +16 -0
  101. package/dist/runtime/components/combobox/combobox-group.d.vue.ts +27 -0
  102. package/dist/runtime/components/combobox/combobox-group.vue +47 -0
  103. package/dist/runtime/components/combobox/combobox-group.vue.d.ts +27 -0
  104. package/dist/runtime/components/combobox/combobox-option-list.d.vue.ts +18 -0
  105. package/dist/runtime/components/combobox/combobox-option-list.vue +13 -0
  106. package/dist/runtime/components/combobox/combobox-option-list.vue.d.ts +18 -0
  107. package/dist/runtime/components/combobox/combobox-option.d.vue.ts +23 -0
  108. package/dist/runtime/components/combobox/combobox-option.vue +65 -0
  109. package/dist/runtime/components/combobox/combobox-option.vue.d.ts +23 -0
  110. package/dist/runtime/components/combobox/combobox-options-dropdown.d.vue.ts +34 -0
  111. package/dist/runtime/components/combobox/combobox-options-dropdown.vue +74 -0
  112. package/dist/runtime/components/combobox/combobox-options-dropdown.vue.d.ts +34 -0
  113. package/dist/runtime/components/combobox/combobox-root.d.vue.ts +49 -0
  114. package/dist/runtime/components/combobox/combobox-root.vue +46 -0
  115. package/dist/runtime/components/combobox/combobox-root.vue.d.ts +49 -0
  116. package/dist/runtime/components/combobox/combobox-target.d.vue.ts +29 -0
  117. package/dist/runtime/components/combobox/combobox-target.vue +32 -0
  118. package/dist/runtime/components/combobox/combobox-target.vue.d.ts +29 -0
  119. package/dist/runtime/components/combobox/combobox.module.css +1 -0
  120. package/dist/runtime/components/combobox/index.d.ts +11 -0
  121. package/dist/runtime/components/combobox/index.js +2 -0
  122. package/dist/runtime/components/combobox/lib/const.d.ts +7 -0
  123. package/dist/runtime/components/combobox/lib/const.js +6 -0
  124. package/dist/runtime/components/combobox/lib/context.d.ts +16 -0
  125. package/dist/runtime/components/combobox/lib/context.js +8 -0
  126. package/dist/runtime/components/combobox/lib/use-combobox/get-index.d.ts +3 -0
  127. package/dist/runtime/components/combobox/lib/use-combobox/get-index.js +33 -0
  128. package/dist/runtime/components/combobox/lib/use-combobox/handlers.d.ts +36 -0
  129. package/dist/runtime/components/combobox/lib/use-combobox/handlers.js +82 -0
  130. package/dist/runtime/components/combobox/lib/use-combobox/index.d.ts +1 -0
  131. package/dist/runtime/components/combobox/lib/use-combobox/index.js +1 -0
  132. package/dist/runtime/components/combobox/lib/use-combobox/use-combobox.d.ts +70 -0
  133. package/dist/runtime/components/combobox/lib/use-combobox/use-combobox.js +97 -0
  134. package/dist/runtime/components/combobox/lib/use-combobox-data/get-parsed-combobox-data.d.ts +2 -0
  135. package/dist/runtime/components/combobox/lib/use-combobox-data/get-parsed-combobox-data.js +23 -0
  136. package/dist/runtime/components/combobox/lib/use-combobox-data/index.d.ts +1 -0
  137. package/dist/runtime/components/combobox/lib/use-combobox-data/index.js +1 -0
  138. package/dist/runtime/components/combobox/lib/use-combobox-data/use-combobox-data.d.ts +7 -0
  139. package/dist/runtime/components/combobox/lib/use-combobox-data/use-combobox-data.js +23 -0
  140. package/dist/runtime/components/combobox/lib/use-combobox-target.d.ts +25 -0
  141. package/dist/runtime/components/combobox/lib/use-combobox-target.js +65 -0
  142. package/dist/runtime/components/combobox/lib/utils/default-option-filter.d.ts +7 -0
  143. package/dist/runtime/components/combobox/lib/utils/default-option-filter.js +27 -0
  144. package/dist/runtime/components/combobox/lib/utils/index.d.ts +5 -0
  145. package/dist/runtime/components/combobox/lib/utils/index.js +6 -0
  146. package/dist/runtime/components/combobox/lib/utils/is-empty-combobox-data.d.ts +2 -0
  147. package/dist/runtime/components/combobox/lib/utils/is-empty-combobox-data.js +11 -0
  148. package/dist/runtime/components/combobox/lib/utils/is-options-group.d.ts +2 -0
  149. package/dist/runtime/components/combobox/lib/utils/is-options-group.js +3 -0
  150. package/dist/runtime/components/combobox/types/index.d.ts +19 -0
  151. package/dist/runtime/components/combobox/types/index.js +1 -0
  152. package/dist/runtime/components/combobox/types/item.d.ts +22 -0
  153. package/dist/runtime/components/combobox/types/item.js +0 -0
  154. package/dist/runtime/components/container.d.vue.ts +19 -0
  155. package/dist/runtime/components/container.vue +33 -0
  156. package/dist/runtime/components/container.vue.d.ts +19 -0
  157. package/dist/runtime/components/dialog/dialog-close-button.d.vue.ts +14 -0
  158. package/dist/runtime/components/dialog/dialog-close-button.vue +28 -0
  159. package/dist/runtime/components/dialog/dialog-close-button.vue.d.ts +14 -0
  160. package/dist/runtime/components/dialog/dialog-header.d.vue.ts +16 -0
  161. package/dist/runtime/components/dialog/dialog-header.vue +11 -0
  162. package/dist/runtime/components/dialog/dialog-header.vue.d.ts +16 -0
  163. package/dist/runtime/components/dialog/dialog-root.d.vue.ts +54 -0
  164. package/dist/runtime/components/dialog/dialog-root.vue +93 -0
  165. package/dist/runtime/components/dialog/dialog-root.vue.d.ts +54 -0
  166. package/dist/runtime/components/dialog/dialog-title.d.vue.ts +16 -0
  167. package/dist/runtime/components/dialog/dialog-title.vue +11 -0
  168. package/dist/runtime/components/dialog/dialog-title.vue.d.ts +16 -0
  169. package/dist/runtime/components/dialog/dialog.module.css +1 -0
  170. package/dist/runtime/components/dialog/index.d.ts +5 -0
  171. package/dist/runtime/components/dialog/index.js +1 -0
  172. package/dist/runtime/components/dialog/lib.d.ts +2 -0
  173. package/dist/runtime/components/dialog/lib.js +8 -0
  174. package/dist/runtime/components/dialog/types/index.d.ts +9 -0
  175. package/dist/runtime/components/dialog/types/index.js +0 -0
  176. package/dist/runtime/components/drawer/drawer-close-button.d.vue.ts +14 -0
  177. package/dist/runtime/components/drawer/drawer-close-button.vue +20 -0
  178. package/dist/runtime/components/drawer/drawer-close-button.vue.d.ts +14 -0
  179. package/dist/runtime/components/drawer/drawer-header.d.vue.ts +16 -0
  180. package/dist/runtime/components/drawer/drawer-header.vue +10 -0
  181. package/dist/runtime/components/drawer/drawer-header.vue.d.ts +16 -0
  182. package/dist/runtime/components/drawer/drawer-root.d.vue.ts +31 -0
  183. package/dist/runtime/components/drawer/drawer-root.vue +45 -0
  184. package/dist/runtime/components/drawer/drawer-root.vue.d.ts +31 -0
  185. package/dist/runtime/components/drawer/drawer-title.d.vue.ts +16 -0
  186. package/dist/runtime/components/drawer/drawer-title.vue +10 -0
  187. package/dist/runtime/components/drawer/drawer-title.vue.d.ts +16 -0
  188. package/dist/runtime/components/drawer/drawer.module.css +1 -0
  189. package/dist/runtime/components/drawer/index.d.ts +3 -0
  190. package/dist/runtime/components/drawer/index.js +0 -0
  191. package/dist/runtime/components/index.d.ts +26 -0
  192. package/dist/runtime/components/index.js +26 -0
  193. package/dist/runtime/components/input/index.d.ts +10 -0
  194. package/dist/runtime/components/input/index.js +1 -0
  195. package/dist/runtime/components/input/input.d.vue.ts +38 -0
  196. package/dist/runtime/components/input/input.vue +38 -0
  197. package/dist/runtime/components/input/input.vue.d.ts +38 -0
  198. package/dist/runtime/components/input/lib/input-wrapper.context.d.ts +18 -0
  199. package/dist/runtime/components/input/lib/input-wrapper.context.js +9 -0
  200. package/dist/runtime/components/input/number-input.d.vue.ts +36 -0
  201. package/dist/runtime/components/input/number-input.vue +172 -0
  202. package/dist/runtime/components/input/number-input.vue.d.ts +36 -0
  203. package/dist/runtime/components/input/password-input.d.vue.ts +4 -0
  204. package/dist/runtime/components/input/password-input.vue +28 -0
  205. package/dist/runtime/components/input/password-input.vue.d.ts +4 -0
  206. package/dist/runtime/components/input/text-input.d.vue.ts +32 -0
  207. package/dist/runtime/components/input/text-input.vue +38 -0
  208. package/dist/runtime/components/input/text-input.vue.d.ts +32 -0
  209. package/dist/runtime/components/input/types/index.d.ts +5 -0
  210. package/dist/runtime/components/input/types/index.js +0 -0
  211. package/dist/runtime/components/input/ui/input-base.d.vue.ts +28 -0
  212. package/dist/runtime/components/input/ui/input-base.vue +343 -0
  213. package/dist/runtime/components/input/ui/input-base.vue.d.ts +28 -0
  214. package/dist/runtime/components/input/ui/input-inline.d.vue.ts +30 -0
  215. package/dist/runtime/components/input/ui/input-inline.vue +138 -0
  216. package/dist/runtime/components/input/ui/input-inline.vue.d.ts +30 -0
  217. package/dist/runtime/components/input/ui/input-label.d.vue.ts +18 -0
  218. package/dist/runtime/components/input/ui/input-label.vue +26 -0
  219. package/dist/runtime/components/input/ui/input-label.vue.d.ts +18 -0
  220. package/dist/runtime/components/input/ui/input-wrapper.d.vue.ts +26 -0
  221. package/dist/runtime/components/input/ui/input-wrapper.vue +96 -0
  222. package/dist/runtime/components/input/ui/input-wrapper.vue.d.ts +26 -0
  223. package/dist/runtime/components/link/index.d.ts +3 -0
  224. package/dist/runtime/components/link/index.js +1 -0
  225. package/dist/runtime/components/link/lib.d.ts +16 -0
  226. package/dist/runtime/components/link/lib.js +25 -0
  227. package/dist/runtime/components/link/link-button.d.vue.ts +21 -0
  228. package/dist/runtime/components/link/link-button.vue +42 -0
  229. package/dist/runtime/components/link/link-button.vue.d.ts +21 -0
  230. package/dist/runtime/components/link/link.d.vue.ts +18 -0
  231. package/dist/runtime/components/link/link.vue +47 -0
  232. package/dist/runtime/components/link/link.vue.d.ts +18 -0
  233. package/dist/runtime/components/loader/_loaders/bars-loader.d.vue.ts +3 -0
  234. package/dist/runtime/components/loader/_loaders/bars-loader.vue +11 -0
  235. package/dist/runtime/components/loader/_loaders/bars-loader.vue.d.ts +3 -0
  236. package/dist/runtime/components/loader/_loaders/dots-loader.d.vue.ts +3 -0
  237. package/dist/runtime/components/loader/_loaders/dots-loader.vue +11 -0
  238. package/dist/runtime/components/loader/_loaders/dots-loader.vue.d.ts +3 -0
  239. package/dist/runtime/components/loader/_loaders/oval-loader.d.vue.ts +3 -0
  240. package/dist/runtime/components/loader/_loaders/oval-loader.vue +7 -0
  241. package/dist/runtime/components/loader/_loaders/oval-loader.vue.d.ts +3 -0
  242. package/dist/runtime/components/loader/index.d.ts +1 -0
  243. package/dist/runtime/components/loader/index.js +0 -0
  244. package/dist/runtime/components/loader/loader.d.vue.ts +10 -0
  245. package/dist/runtime/components/loader/loader.vue +37 -0
  246. package/dist/runtime/components/loader/loader.vue.d.ts +10 -0
  247. package/dist/runtime/components/modal/index.d.ts +3 -0
  248. package/dist/runtime/components/modal/index.js +0 -0
  249. package/dist/runtime/components/modal/modal-close-button.d.vue.ts +14 -0
  250. package/dist/runtime/components/modal/modal-close-button.vue +20 -0
  251. package/dist/runtime/components/modal/modal-close-button.vue.d.ts +14 -0
  252. package/dist/runtime/components/modal/modal-header.d.vue.ts +16 -0
  253. package/dist/runtime/components/modal/modal-header.vue +10 -0
  254. package/dist/runtime/components/modal/modal-header.vue.d.ts +16 -0
  255. package/dist/runtime/components/modal/modal-root.d.vue.ts +33 -0
  256. package/dist/runtime/components/modal/modal-root.vue +30 -0
  257. package/dist/runtime/components/modal/modal-root.vue.d.ts +33 -0
  258. package/dist/runtime/components/modal/modal-title.d.vue.ts +16 -0
  259. package/dist/runtime/components/modal/modal-title.vue +10 -0
  260. package/dist/runtime/components/modal/modal-title.vue.d.ts +16 -0
  261. package/dist/runtime/components/modal/modal.module.css +1 -0
  262. package/dist/runtime/components/nav-link/index.d.ts +1 -0
  263. package/dist/runtime/components/nav-link/index.js +0 -0
  264. package/dist/runtime/components/nav-link/nav-link.d.vue.ts +35 -0
  265. package/dist/runtime/components/nav-link/nav-link.vue +201 -0
  266. package/dist/runtime/components/nav-link/nav-link.vue.d.ts +35 -0
  267. package/dist/runtime/components/paper.d.vue.ts +20 -0
  268. package/dist/runtime/components/paper.vue +53 -0
  269. package/dist/runtime/components/paper.vue.d.ts +20 -0
  270. package/dist/runtime/components/popover/index.d.ts +1 -0
  271. package/dist/runtime/components/popover/index.js +0 -0
  272. package/dist/runtime/components/popover/lib/context.d.ts +14 -0
  273. package/dist/runtime/components/popover/lib/context.js +8 -0
  274. package/dist/runtime/components/popover/lib/get-arrow-position.d.ts +12 -0
  275. package/dist/runtime/components/popover/lib/get-arrow-position.js +88 -0
  276. package/dist/runtime/components/popover/lib/use-popover.d.ts +23 -0
  277. package/dist/runtime/components/popover/lib/use-popover.js +47 -0
  278. package/dist/runtime/components/popover/popover-dropdown.d.vue.ts +13 -0
  279. package/dist/runtime/components/popover/popover-dropdown.vue +90 -0
  280. package/dist/runtime/components/popover/popover-dropdown.vue.d.ts +13 -0
  281. package/dist/runtime/components/popover/popover-target.d.vue.ts +13 -0
  282. package/dist/runtime/components/popover/popover-target.vue +11 -0
  283. package/dist/runtime/components/popover/popover-target.vue.d.ts +13 -0
  284. package/dist/runtime/components/popover/popover.d.vue.ts +27 -0
  285. package/dist/runtime/components/popover/popover.vue +79 -0
  286. package/dist/runtime/components/popover/popover.vue.d.ts +27 -0
  287. package/dist/runtime/components/popover/types/index.d.ts +42 -0
  288. package/dist/runtime/components/popover/types/index.js +0 -0
  289. package/dist/runtime/components/renderless/renderless-slot.d.ts +6 -0
  290. package/dist/runtime/components/renderless/renderless-slot.js +32 -0
  291. package/dist/runtime/components/renderless/renderless.d.vue.ts +13 -0
  292. package/dist/runtime/components/renderless/renderless.vue +12 -0
  293. package/dist/runtime/components/renderless/renderless.vue.d.ts +13 -0
  294. package/dist/runtime/components/select/index.d.ts +1 -0
  295. package/dist/runtime/components/select/index.js +0 -0
  296. package/dist/runtime/components/select/select.d.vue.ts +45 -0
  297. package/dist/runtime/components/select/select.vue +131 -0
  298. package/dist/runtime/components/select/select.vue.d.ts +45 -0
  299. package/dist/runtime/components/tabs/index.d.ts +1 -0
  300. package/dist/runtime/components/tabs/index.js +1 -0
  301. package/dist/runtime/components/tabs/lib.d.ts +142 -0
  302. package/dist/runtime/components/tabs/lib.js +18 -0
  303. package/dist/runtime/components/tabs/tabs-list.d.vue.ts +19 -0
  304. package/dist/runtime/components/tabs/tabs-list.vue +31 -0
  305. package/dist/runtime/components/tabs/tabs-list.vue.d.ts +19 -0
  306. package/dist/runtime/components/tabs/tabs-panel.d.vue.ts +17 -0
  307. package/dist/runtime/components/tabs/tabs-panel.vue +23 -0
  308. package/dist/runtime/components/tabs/tabs-panel.vue.d.ts +17 -0
  309. package/dist/runtime/components/tabs/tabs-root.d.vue.ts +47 -0
  310. package/dist/runtime/components/tabs/tabs-root.vue +71 -0
  311. package/dist/runtime/components/tabs/tabs-root.vue.d.ts +47 -0
  312. package/dist/runtime/components/tabs/tabs-tab.d.vue.ts +22 -0
  313. package/dist/runtime/components/tabs/tabs-tab.vue +41 -0
  314. package/dist/runtime/components/tabs/tabs-tab.vue.d.ts +22 -0
  315. package/dist/runtime/components/tabs/tabs.module.css +1 -0
  316. package/dist/runtime/components/text.d.vue.ts +37 -0
  317. package/dist/runtime/components/text.vue +122 -0
  318. package/dist/runtime/components/text.vue.d.ts +37 -0
  319. package/dist/runtime/components/textarea.d.vue.ts +33 -0
  320. package/dist/runtime/components/textarea.vue +48 -0
  321. package/dist/runtime/components/textarea.vue.d.ts +33 -0
  322. package/dist/runtime/components/title.d.vue.ts +18 -0
  323. package/dist/runtime/components/title.vue +34 -0
  324. package/dist/runtime/components/title.vue.d.ts +18 -0
  325. package/dist/runtime/components/transition/index.d.ts +1 -0
  326. package/dist/runtime/components/transition/index.js +0 -0
  327. package/dist/runtime/components/transition/transition.d.vue.ts +25 -0
  328. package/dist/runtime/components/transition/transition.vue +31 -0
  329. package/dist/runtime/components/transition/transition.vue.d.ts +25 -0
  330. package/dist/runtime/components/visually-hidden/index.d.ts +2 -0
  331. package/dist/runtime/components/visually-hidden/index.js +0 -0
  332. package/dist/runtime/components/visually-hidden/visually-hidden-input.d.vue.ts +22 -0
  333. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue +13 -0
  334. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue.d.ts +22 -0
  335. package/dist/runtime/components/visually-hidden/visually-hidden.d.vue.ts +17 -0
  336. package/dist/runtime/components/visually-hidden/visually-hidden.vue +22 -0
  337. package/dist/runtime/components/visually-hidden/visually-hidden.vue.d.ts +17 -0
  338. package/dist/runtime/composals/index.d.ts +4 -0
  339. package/dist/runtime/composals/index.js +4 -0
  340. package/dist/runtime/composals/use-active-link.d.ts +5 -0
  341. package/dist/runtime/composals/use-active-link.js +20 -0
  342. package/dist/runtime/composals/use-mod.d.ts +2 -0
  343. package/dist/runtime/composals/use-mod.js +25 -0
  344. package/dist/runtime/composals/use-style-resolver.d.ts +3 -0
  345. package/dist/runtime/composals/use-style-resolver.js +5 -0
  346. package/dist/runtime/composals/use-theme.d.ts +9 -0
  347. package/dist/runtime/composals/use-theme.js +4 -0
  348. package/dist/runtime/const/index.d.ts +2 -0
  349. package/dist/runtime/const/index.js +6 -0
  350. package/dist/runtime/helpers/create-strict-injection.d.ts +94 -0
  351. package/dist/runtime/helpers/create-strict-injection.js +11 -0
  352. package/dist/runtime/helpers/index.d.ts +1 -0
  353. package/dist/runtime/helpers/index.js +1 -0
  354. package/dist/runtime/server/tsconfig.json +3 -0
  355. package/dist/runtime/styles/baseline.css +1 -0
  356. package/dist/runtime/styles/colors.css +1 -0
  357. package/dist/runtime/styles/const.css +1 -0
  358. package/dist/runtime/styles/dark-theme.css +1 -0
  359. package/dist/runtime/styles/global.css +1 -0
  360. package/dist/runtime/styles/light-theme.css +1 -0
  361. package/dist/runtime/types/index.d.ts +1 -0
  362. package/dist/runtime/types/index.js +0 -0
  363. package/dist/runtime/types/theme.d.ts +25 -0
  364. package/dist/runtime/types/theme.js +0 -0
  365. package/dist/runtime/utils/boolean/is-falsy.d.ts +1 -0
  366. package/dist/runtime/utils/boolean/is-falsy.js +7 -0
  367. package/dist/runtime/utils/boolean/is-number-like.d.ts +1 -0
  368. package/dist/runtime/utils/boolean/is-number-like.js +13 -0
  369. package/dist/runtime/utils/color-functions/get-gradient.d.ts +3 -0
  370. package/dist/runtime/utils/color-functions/get-gradient.js +25 -0
  371. package/dist/runtime/utils/converters/rem.d.ts +2 -0
  372. package/dist/runtime/utils/converters/rem.js +43 -0
  373. package/dist/runtime/utils/get-color-var.d.ts +2 -0
  374. package/dist/runtime/utils/get-color-var.js +6 -0
  375. package/dist/runtime/utils/get-safe-id.d.ts +1 -0
  376. package/dist/runtime/utils/get-safe-id.js +8 -0
  377. package/dist/runtime/utils/get-size/get-size.d.ts +6 -0
  378. package/dist/runtime/utils/get-size/get-size.js +24 -0
  379. package/dist/runtime/utils/index.d.ts +7 -0
  380. package/dist/runtime/utils/index.js +7 -0
  381. package/dist/runtime/utils/parse-theme-color/parse-theme-color.d.ts +14 -0
  382. package/dist/runtime/utils/parse-theme-color/parse-theme-color.js +73 -0
  383. package/dist/runtime/utils/vars-resolver/create-variant-color-resolver.d.ts +14 -0
  384. package/dist/runtime/utils/vars-resolver/create-variant-color-resolver.js +106 -0
  385. package/dist/types.d.mts +3 -0
  386. package/package.json +96 -0
@@ -0,0 +1,30 @@
1
+ <script setup>
2
+ import DialogRoot from "../dialog/dialog-root.vue";
3
+ import css from "./modal.module.css";
4
+ const {
5
+ centered,
6
+ fullScreen,
7
+ mod,
8
+ withinPortal = true,
9
+ ...rest
10
+ } = defineProps({
11
+ centered: { type: Boolean, required: false },
12
+ fullScreen: { type: Boolean, required: false }
13
+ });
14
+ defineEmits(["open", "close"]);
15
+ const opened = defineModel("open", { type: Boolean, ...{ default: false } });
16
+ </script>
17
+
18
+ <template>
19
+ <DialogRoot
20
+ v-model:open='opened'
21
+ :mod='[{ centered, "full-screen": fullScreen }, mod]'
22
+ :root-class='css.root'
23
+ :within-portal
24
+ v-bind='rest'
25
+ @open='$emit("open")'
26
+ @close='$emit("close")'
27
+ >
28
+ <slot />
29
+ </DialogRoot>
30
+ </template>
@@ -0,0 +1,33 @@
1
+ import type { DialogModel, DialogRootProps } from '../dialog/index.js';
2
+ export interface ModalRootProps extends /* @vue-ignore */ Omit<DialogRootProps, 'modal' | 'closeOnClickOutside' | 'rootClass' | 'withoutOverlay'> {
3
+ /** If set, the modal is centered vertically @default `false` */
4
+ centered?: boolean;
5
+ /** If set, the modal takes the entire screen @default `false` */
6
+ fullScreen?: boolean;
7
+ }
8
+ type __VLS_Props = ModalRootProps;
9
+ type __VLS_ModelProps = {
10
+ 'open'?: DialogModel['open'];
11
+ };
12
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
13
+ declare var __VLS_10: {};
14
+ type __VLS_Slots = {} & {
15
+ default?: (props: typeof __VLS_10) => any;
16
+ };
17
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ close: () => any;
19
+ open: () => any;
20
+ "update:open": (value: boolean) => any;
21
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
+ onClose?: (() => any) | undefined;
23
+ onOpen?: (() => any) | undefined;
24
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
25
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,16 @@
1
+ import type { DialogTitleProps } from '../dialog/index.js';
2
+ export interface ModalTitleProps extends /* @vue-ignore */ DialogTitleProps {
3
+ }
4
+ declare var __VLS_6: {};
5
+ type __VLS_Slots = {} & {
6
+ default?: (props: typeof __VLS_6) => any;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<ModalTitleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ModalTitleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,10 @@
1
+ <script setup>
2
+ import DialogTitle from "../dialog/dialog-title.vue";
3
+ const props = defineProps({});
4
+ </script>
5
+
6
+ <template>
7
+ <DialogTitle v-bind='props'>
8
+ <slot />
9
+ </DialogTitle>
10
+ </template>
@@ -0,0 +1,16 @@
1
+ import type { DialogTitleProps } from '../dialog/index.js';
2
+ export interface ModalTitleProps extends /* @vue-ignore */ DialogTitleProps {
3
+ }
4
+ declare var __VLS_6: {};
5
+ type __VLS_Slots = {} & {
6
+ default?: (props: typeof __VLS_6) => any;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<ModalTitleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ModalTitleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1 @@
1
+ .root{--dialog-y-offset:5dvh;--dialog-x-offset:50%;transform:translateX(-50%)}.root[data-centered]{--dialog-x-offset:50%;--dialog-y-offset:50%;transform:translate(-50%,-50%)}.root[data-full-screen]{--dialog-y-offset:0;--dialog-x-offset:0;--dialog-radius:0;height:100%;width:100%}
@@ -0,0 +1 @@
1
+ export type * from './nav-link.vue';
File without changes
@@ -0,0 +1,35 @@
1
+ import type { UiKitColor } from '@nui/types';
2
+ import type { NuxtLinkProps } from 'nuxt/app';
3
+ import type { BoxProps } from '../box.vue.js';
4
+ export interface NavLinkProps extends /* @vue-ignore */ BoxProps, Omit<NuxtLinkProps, 'href' | 'custom'> {
5
+ /** Link description, displayed below the label */
6
+ description?: string;
7
+ /** Determines whether the link should have active styles @default `false` */
8
+ active?: boolean;
9
+ /** Key of `theme.colors` of any valid CSS color to control active styles @default `theme.primaryColor` */
10
+ color?: UiKitColor;
11
+ /** If set, label and description do not wrap to the next line @default `false` */
12
+ noWrap?: boolean;
13
+ /** If set, disabled styles will be added to the root element @default `false` */
14
+ disabled?: boolean;
15
+ variant?: 'filled' | 'light' | 'subtle';
16
+ }
17
+ declare var __VLS_14: {}, __VLS_20: {}, __VLS_26: {}, __VLS_28: {};
18
+ type __VLS_Slots = {} & {
19
+ leftSection?: (props: typeof __VLS_14) => any;
20
+ } & {
21
+ default?: (props: typeof __VLS_20) => any;
22
+ } & {
23
+ description?: (props: typeof __VLS_26) => any;
24
+ } & {
25
+ rightSection?: (props: typeof __VLS_28) => any;
26
+ };
27
+ declare const __VLS_base: import("vue").DefineComponent<NavLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NavLinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
+ declare const _default: typeof __VLS_export;
30
+ export default _default;
31
+ type __VLS_WithSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1,201 @@
1
+ <script setup>
2
+ import { useActiveLink, useStyleResolver } from "@nui/composals";
3
+ import { createVariantColorResolver } from "@nui/utils";
4
+ import { computed } from "vue";
5
+ import Box from "../box.vue";
6
+ import UnstyledButton from "../button/unstyled-button.vue";
7
+ import { extractNuxtLinkProps } from "../link";
8
+ const props = defineProps({
9
+ description: { type: String, required: false },
10
+ active: { type: Boolean, required: false },
11
+ color: { type: null, required: false },
12
+ noWrap: { type: Boolean, required: false },
13
+ disabled: { type: Boolean, required: false },
14
+ variant: { type: String, required: false },
15
+ to: { type: null, required: false },
16
+ external: { type: Boolean, required: false },
17
+ target: { type: [String, Object, null], required: false },
18
+ rel: { type: [String, Object, null], required: false },
19
+ noRel: { type: Boolean, required: false },
20
+ prefetchedClass: { type: String, required: false },
21
+ prefetch: { type: Boolean, required: false },
22
+ prefetchOn: { type: [String, Object], required: false },
23
+ noPrefetch: { type: Boolean, required: false },
24
+ trailingSlash: { type: String, required: false },
25
+ activeClass: { type: String, required: false },
26
+ exactActiveClass: { type: String, required: false },
27
+ ariaCurrentValue: { type: String, required: false },
28
+ viewTransition: { type: Boolean, required: false },
29
+ replace: { type: Boolean, required: false }
30
+ });
31
+ const {
32
+ link,
33
+ rest: {
34
+ disabled,
35
+ mod: _mod,
36
+ variant = "filled",
37
+ color,
38
+ noWrap,
39
+ description
40
+ }
41
+ } = extractNuxtLinkProps(props);
42
+ const active = useActiveLink(link?.to);
43
+ const mod = computed(() => [{ active: active.value, disabled }, _mod]);
44
+ const style = useStyleResolver((theme) => {
45
+ const { background, hover, text } = createVariantColorResolver({ variant, color, theme });
46
+ return {
47
+ root: {
48
+ "--nl-bg": variant ? background : void 0,
49
+ "--nl-hover": variant ? hover : void 0,
50
+ "--nl-color": variant ? text : void 0
51
+ }
52
+ };
53
+ });
54
+ </script>
55
+
56
+ <template>
57
+ <!-- @vue-ignore -->
58
+ <NuxtLink
59
+ v-slot='{ href, navigate }'
60
+ v-bind='link'
61
+ custom
62
+ >
63
+ <UnstyledButton
64
+ is='a'
65
+ :class='$style.root'
66
+ :style='style.root'
67
+ :mod
68
+ :href
69
+ @click='(e) => navigate(e)'
70
+ >
71
+ <span
72
+ v-if='$slots.leftSection'
73
+ :class='$style.section'
74
+ data-position='left'
75
+ >
76
+ <slot name='leftSection' />
77
+ </span>
78
+
79
+ <Box :class='$style.body' :mod='{ "no-wrap": noWrap }'>
80
+ <span :class='$style.label'>
81
+ <slot />
82
+ </span>
83
+ <Box :class='$style.description' :mod='{ active }'>
84
+ <slot name='description'>
85
+ {{ description }}
86
+ </slot>
87
+ </Box>
88
+ </Box>
89
+
90
+ <span
91
+ v-if='$slots.rightSection'
92
+ :class='$style.section'
93
+ data-position='right'
94
+ >
95
+ <slot name='rightSection' />
96
+ </span>
97
+ </UnstyledButton>
98
+ </NuxtLink>
99
+ </template>
100
+
101
+ <style module lang="postcss">
102
+ .root {
103
+ --nl-bg: var(--color-primary-light);
104
+ --nl-hover: var(--color-primary-light-hover);
105
+ --nl-color: var(--color-primary-light-color);
106
+
107
+ user-select: none;
108
+
109
+ display: flex;
110
+ align-items: center;
111
+
112
+ width: 100%;
113
+ padding: .25rem var(--spacing-sm);
114
+ border-radius: var(--radius-default);
115
+
116
+ &:where([data-disabled]) {
117
+ pointer-events: none;
118
+
119
+ opacity: 0.4;
120
+ }
121
+
122
+ &:where([data-active], [aria-current='page']) {
123
+ color: var(--nl-color);
124
+
125
+ background-color: var(--nl-bg);
126
+
127
+ .description {
128
+ --description-opacity: 0.9;
129
+ --description-color: var(--nl-color);
130
+ }
131
+
132
+ @mixin hover {
133
+ background-color: var(--nl-hover);
134
+ }
135
+ }
136
+
137
+ @mixin hover {
138
+ @mixin where-light {
139
+ background-color: var(--color-gray-0);
140
+ }
141
+
142
+ @mixin where-dark {
143
+ background-color: var(--color-dark-6);
144
+ }
145
+ }
146
+ }
147
+
148
+ .section {
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+
153
+ transition: transform 150ms ease;
154
+
155
+ & > svg {
156
+ display: block;
157
+ }
158
+
159
+ &:where([data-position='left']) {
160
+ margin-inline-end: var(--spacing-sm);
161
+ }
162
+
163
+ &:where([data-position='right']) {
164
+ margin-inline-start: var(--spacing-sm);
165
+ }
166
+
167
+ &:where([data-rotate]) {
168
+ transform: rotate(90deg);
169
+ }
170
+ }
171
+
172
+ .label {
173
+ font-size: var(--font-size-sm);
174
+ }
175
+
176
+ .body {
177
+ overflow: hidden;
178
+ flex: 1;
179
+
180
+ text-overflow: ellipsis;
181
+
182
+ &:where([data-no-wrap]) {
183
+ white-space: nowrap;
184
+ }
185
+ }
186
+
187
+ .description {
188
+ overflow: hidden;
189
+ display: block;
190
+
191
+ font-size: var(--font-size-xs);
192
+ color: var(--description-color, var(--color-dimmed));
193
+ text-overflow: ellipsis;
194
+
195
+ opacity: var(--description-opacity, 1);
196
+
197
+ :where([data-no-wrap]) & {
198
+ white-space: nowrap;
199
+ }
200
+ }
201
+ </style>
@@ -0,0 +1,35 @@
1
+ import type { UiKitColor } from '@nui/types';
2
+ import type { NuxtLinkProps } from 'nuxt/app';
3
+ import type { BoxProps } from '../box.vue.js';
4
+ export interface NavLinkProps extends /* @vue-ignore */ BoxProps, Omit<NuxtLinkProps, 'href' | 'custom'> {
5
+ /** Link description, displayed below the label */
6
+ description?: string;
7
+ /** Determines whether the link should have active styles @default `false` */
8
+ active?: boolean;
9
+ /** Key of `theme.colors` of any valid CSS color to control active styles @default `theme.primaryColor` */
10
+ color?: UiKitColor;
11
+ /** If set, label and description do not wrap to the next line @default `false` */
12
+ noWrap?: boolean;
13
+ /** If set, disabled styles will be added to the root element @default `false` */
14
+ disabled?: boolean;
15
+ variant?: 'filled' | 'light' | 'subtle';
16
+ }
17
+ declare var __VLS_14: {}, __VLS_20: {}, __VLS_26: {}, __VLS_28: {};
18
+ type __VLS_Slots = {} & {
19
+ leftSection?: (props: typeof __VLS_14) => any;
20
+ } & {
21
+ default?: (props: typeof __VLS_20) => any;
22
+ } & {
23
+ description?: (props: typeof __VLS_26) => any;
24
+ } & {
25
+ rightSection?: (props: typeof __VLS_28) => any;
26
+ };
27
+ declare const __VLS_base: import("vue").DefineComponent<NavLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NavLinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
+ declare const _default: typeof __VLS_export;
30
+ export default _default;
31
+ type __VLS_WithSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1,20 @@
1
+ import type { UiKitRadius, UiKitShadow } from '@nui/types';
2
+ import type { BoxProps } from './box.vue.js';
3
+ export interface PaperProps extends /* @vue-ignore */ BoxProps {
4
+ shadow?: UiKitShadow;
5
+ radius?: UiKitRadius;
6
+ withBorder?: boolean;
7
+ }
8
+ declare var __VLS_6: {};
9
+ type __VLS_Slots = {} & {
10
+ default?: (props: typeof __VLS_6) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<PaperProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PaperProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,53 @@
1
+ <script setup>
2
+ import { getRadius, getShadow } from "@nui/utils";
3
+ import { computed } from "vue";
4
+ import Box from "./box.vue";
5
+ const { is, mod, radius, shadow, withBorder } = defineProps({
6
+ shadow: { type: String, required: false },
7
+ radius: { type: [String, Number], required: false },
8
+ withBorder: { type: Boolean, required: false }
9
+ });
10
+ const style = computed(() => ({
11
+ "--paper-radius": radius && getRadius(radius),
12
+ "--paper-shadow": getShadow(shadow)
13
+ }));
14
+ </script>
15
+
16
+ <template>
17
+ <Box :is :style :class='$style.root' :mod='[mod, { "with-border": withBorder }]'>
18
+ <slot />
19
+ </Box>
20
+ </template>
21
+
22
+ <style module lang="postcss">
23
+ .root {
24
+ --paper-radius: var(--radius-default);
25
+ --paper-shadow: none;
26
+
27
+ touch-action: manipulation;
28
+
29
+ display: block;
30
+
31
+ border-radius: var(--paper-radius);
32
+
33
+ text-decoration: none;
34
+
35
+ background-color: var(--color-body);
36
+
37
+ outline: 0;
38
+ box-shadow: var(--paper-shadow);
39
+ -webkit-tap-highlight-color: transparent;
40
+
41
+ &:where([data-with-border]) {
42
+ border: rem(1px) solid var(--paper-border-color);
43
+ }
44
+
45
+ @mixin light {
46
+ --paper-border-color: var(--color-gray-3);
47
+ }
48
+
49
+ @mixin dark {
50
+ --paper-border-color: var(--color-slate-7);
51
+ }
52
+ }
53
+ </style>
@@ -0,0 +1,20 @@
1
+ import type { UiKitRadius, UiKitShadow } from '@nui/types';
2
+ import type { BoxProps } from './box.vue.js';
3
+ export interface PaperProps extends /* @vue-ignore */ BoxProps {
4
+ shadow?: UiKitShadow;
5
+ radius?: UiKitRadius;
6
+ withBorder?: boolean;
7
+ }
8
+ declare var __VLS_6: {};
9
+ type __VLS_Slots = {} & {
10
+ default?: (props: typeof __VLS_6) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<PaperProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PaperProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1 @@
1
+ export type * from './types';
File without changes
@@ -0,0 +1,14 @@
1
+ import type { UiKitRadius, UiKitShadow } from '@nui/types';
2
+ import type { UsePopoverReturn } from './use-popover.js';
3
+ interface PopoverState {
4
+ disabled?: boolean;
5
+ store: UsePopoverReturn;
6
+ withArrow: boolean;
7
+ id: string;
8
+ onToggle: (event: ToggleEvent) => void;
9
+ radius?: UiKitRadius;
10
+ shadow?: UiKitShadow;
11
+ }
12
+ export declare const useProvidePopoverState: (args_0: PopoverState) => PopoverState;
13
+ export declare const usePopoverState: () => PopoverState;
14
+ export {};
@@ -0,0 +1,8 @@
1
+ import { createStrictInjection } from "@nui/helpers";
2
+ const injectionKey = Symbol("popover");
3
+ const [useProvide, useState] = createStrictInjection((state) => state, {
4
+ injectionKey,
5
+ name: "PopoverState"
6
+ });
7
+ export const useProvidePopoverState = useProvide;
8
+ export const usePopoverState = useState;
@@ -0,0 +1,12 @@
1
+ import type { AlignedPlacement, Side } from '@floating-ui/vue';
2
+ import type { ArrowPosition } from '../types/index.js';
3
+ export declare function getArrowPosition({ placement: _placement, arrowSize, arrowOffset, arrowRadius, arrowPosition, arrowX, arrowY, dir, }: {
4
+ placement: Side | AlignedPlacement;
5
+ arrowSize?: number;
6
+ arrowOffset: number;
7
+ arrowRadius?: number;
8
+ arrowPosition: ArrowPosition;
9
+ arrowX: number | undefined;
10
+ arrowY: number | undefined;
11
+ dir?: 'rtl' | 'ltr';
12
+ }): {};
@@ -0,0 +1,88 @@
1
+ function horizontalSide(placement, arrowY, arrowOffset, arrowPosition) {
2
+ switch (placement) {
3
+ case "center":
4
+ return arrowPosition === "center" ? { top: arrowY && `${arrowY}px` } : {};
5
+ case "end":
6
+ return { bottom: `${arrowOffset}px` };
7
+ case "start":
8
+ return { top: `${arrowOffset}px` };
9
+ default:
10
+ return {};
11
+ }
12
+ }
13
+ function verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir) {
14
+ switch (placement) {
15
+ case "center":
16
+ return arrowPosition === "center" ? { left: arrowX && `${arrowX}px` } : {};
17
+ case "end":
18
+ return { [dir === "ltr" ? "right" : "left"]: `${arrowOffset}px` };
19
+ case "start":
20
+ return { [dir === "ltr" ? "left" : "right"]: `${arrowOffset}px` };
21
+ default:
22
+ return {};
23
+ }
24
+ }
25
+ const radiusByFloatingSide = {
26
+ bottom: "borderTopLeftRadius",
27
+ left: "borderTopRightRadius",
28
+ right: "borderBottomLeftRadius",
29
+ top: "borderBottomRightRadius"
30
+ };
31
+ const PLACEMENT_VAR = "var(--arrow-placement)";
32
+ export function getArrowPosition({
33
+ placement: _placement,
34
+ arrowSize,
35
+ arrowOffset,
36
+ arrowRadius,
37
+ arrowPosition,
38
+ arrowX,
39
+ arrowY,
40
+ dir = "ltr"
41
+ }) {
42
+ const [side, placement = "center"] = _placement.split("-");
43
+ const baseStyles = {
44
+ "--arrow-size": arrowSize || void 0,
45
+ "--arrow-radius": arrowRadius || void 0,
46
+ [radiusByFloatingSide[side]]: "var(--arrow-radius)"
47
+ };
48
+ switch (side) {
49
+ case "left":
50
+ return {
51
+ ...baseStyles,
52
+ ...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),
53
+ right: PLACEMENT_VAR,
54
+ borderLeftColor: "transparent",
55
+ borderBottomColor: "transparent",
56
+ clipPath: "polygon(100% 0, 0 0, 100% 100%)"
57
+ };
58
+ case "right":
59
+ return {
60
+ ...baseStyles,
61
+ ...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),
62
+ left: PLACEMENT_VAR,
63
+ borderRightColor: "transparent",
64
+ borderTopColor: "transparent",
65
+ clipPath: "polygon(0 100%, 0 0, 100% 100%)"
66
+ };
67
+ case "top":
68
+ return {
69
+ ...baseStyles,
70
+ ...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),
71
+ bottom: PLACEMENT_VAR,
72
+ borderTopColor: "transparent",
73
+ borderLeftColor: "transparent",
74
+ clipPath: "polygon(0 100%, 100% 100%, 100% 0)"
75
+ };
76
+ case "bottom":
77
+ return {
78
+ ...baseStyles,
79
+ ...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),
80
+ top: PLACEMENT_VAR,
81
+ borderBottomColor: "transparent",
82
+ borderRightColor: "transparent",
83
+ clipPath: "polygon(0 100%, 0 0, 100% 0)"
84
+ };
85
+ default:
86
+ return {};
87
+ }
88
+ }
@@ -0,0 +1,23 @@
1
+ import type { OffsetOptions, Placement, Strategy } from '@floating-ui/vue';
2
+ import type { CSSProperties, ModelRef, Ref, ShallowRef } from 'vue';
3
+ import type { ArrowPosition, PopoverWidth } from '../types/index.js';
4
+ export interface PopoverOptions {
5
+ offset: OffsetOptions;
6
+ placement: Placement;
7
+ opened: ModelRef<boolean>;
8
+ width: PopoverWidth;
9
+ arrowOffset: number;
10
+ arrowRadius: number | undefined;
11
+ arrowPosition: ArrowPosition;
12
+ arrowSize: number | undefined;
13
+ withArrow: boolean;
14
+ strategy?: Strategy;
15
+ }
16
+ export interface UsePopoverReturn {
17
+ arrowStyles: Readonly<Ref<CSSProperties>>;
18
+ floatingStyles: Readonly<Ref<CSSProperties>>;
19
+ arrowRef: ShallowRef<HTMLElement | null>;
20
+ targetRef: ShallowRef<HTMLElement | null>;
21
+ dropdownRef: ShallowRef<HTMLElement | null>;
22
+ }
23
+ export declare function usePopover(options: PopoverOptions): UsePopoverReturn;