@vc-shell/framework 1.1.43 → 1.1.45

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 (453) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/core/plugins/modularity/loader.ts +120 -74
  3. package/core/services/app-bar-mobile-buttons-service.ts +1 -1
  4. package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
  5. package/dist/core/services/app-bar-mobile-buttons-service.d.ts +1 -1
  6. package/dist/core/services/app-bar-mobile-buttons-service.d.ts.map +1 -1
  7. package/dist/framework.js +33347 -295
  8. package/dist/index.css +1 -9
  9. package/dist/index.d.ts +0 -4
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/locales/de.json +0 -84
  12. package/dist/locales/en.json +0 -84
  13. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +1 -1
  14. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +1 -1
  15. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  16. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.d.ts.map +1 -1
  17. package/dist/shared/components/change-password-button/change-password-button.vue.d.ts.map +1 -1
  18. package/dist/shared/components/logout-button/logout-button.vue.d.ts.map +1 -1
  19. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
  20. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -2
  21. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +6 -6
  22. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
  25. package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts.map +1 -1
  26. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts +0 -26
  27. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts.map +1 -1
  28. package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts.map +1 -1
  29. package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts.map +1 -1
  30. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  31. package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts +0 -5
  32. package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
  33. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +0 -20
  34. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
  35. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  36. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue.d.ts +36 -0
  37. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue.d.ts.map +1 -0
  38. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts +17 -0
  39. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts.map +1 -0
  40. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +16 -2381
  41. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  42. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
  43. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +1 -1
  44. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  45. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +1 -1
  46. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  47. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts.map +1 -1
  48. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  49. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -1
  50. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  51. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  52. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -1
  53. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts.map +1 -1
  54. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  55. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
  56. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +2 -2
  57. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  58. package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -1
  59. package/dist/vendor-boolbase-Cp9L0GAZ.js +25 -0
  60. package/dist/vendor-cheerio-HN9zIPZn.js +3135 -0
  61. package/dist/vendor-cheerio-select-5Ry0HvBq.js +306 -0
  62. package/dist/vendor-core-js-l0sNRNKZ.js +1 -0
  63. package/dist/vendor-css-select-DRIZ9kfZ.js +966 -0
  64. package/dist/vendor-css-what-DuPJ1HEF.js +448 -0
  65. package/dist/vendor-cypress-signalr-mock-BKdBJpdt.js +778 -0
  66. package/dist/vendor-date-fns-515YWkk-.js +6724 -0
  67. package/dist/vendor-dom-serializer-nQMsqjYW.js +286 -0
  68. package/dist/vendor-dom7-CJLPMwy5.js +941 -0
  69. package/dist/vendor-domelementtype-CjSzQey5.js +53 -0
  70. package/dist/vendor-domhandler-9z8cS16a.js +484 -0
  71. package/dist/vendor-dompurify-CRFzu7ib.js +1336 -0
  72. package/dist/vendor-domutils-Bc-Opz-v.js +981 -0
  73. package/dist/vendor-entities-Bfsx4xOQ.js +636 -0
  74. package/dist/vendor-floating-ui-core-wV8u8QP4.js +511 -0
  75. package/dist/vendor-floating-ui-dom-DDnRPs17.js +706 -0
  76. package/dist/vendor-floating-ui-utils-OMIFy1QU.js +296 -0
  77. package/dist/vendor-floating-ui-vue-D-tCDAMm.js +167 -0
  78. package/dist/vendor-fontsource-plus-jakarta-sans.css +1 -0
  79. package/dist/vendor-headlessui-vue-CY9FRgTb.js +83 -0
  80. package/dist/vendor-htmlparser2-B1dhFPOs.js +1426 -0
  81. package/dist/vendor-iconify-vue-DfRGgyNu.js +1840 -0
  82. package/dist/vendor-intlify-core-base-BuknsFQe.js +1876 -0
  83. package/dist/vendor-intlify-message-compiler-CuOQDWx1.js +1508 -0
  84. package/dist/vendor-intlify-shared-Cz4YRMuC.js +241 -0
  85. package/dist/vendor-iso-639-1-BJCk9DvE.js +819 -0
  86. package/dist/vendor-linkify-it-CKUf4vsc.js +830 -0
  87. package/dist/vendor-linkifyjs-BfyGgbCh.js +1756 -0
  88. package/dist/vendor-lodash-es-BySUOlwf.js +18333 -0
  89. package/dist/vendor-markdown-it-D-apazHa.js +6000 -0
  90. package/dist/vendor-markdown-it-task-lists-rxMVH6Ku.js +131 -0
  91. package/dist/vendor-mdurl-BNh2CCgT.js +537 -0
  92. package/dist/vendor-microsoft-applicationinsights-analytics-js-kG3lLg8X.js +1275 -0
  93. package/dist/vendor-microsoft-applicationinsights-cfgsync-js-C0uQkiQq.js +591 -0
  94. package/dist/vendor-microsoft-applicationinsights-channel-js-Dyd_PXA3.js +2153 -0
  95. package/dist/vendor-microsoft-applicationinsights-common-CfmP1_Qr.js +2470 -0
  96. package/dist/vendor-microsoft-applicationinsights-core-js-Cq4YSEvZ.js +6589 -0
  97. package/dist/vendor-microsoft-applicationinsights-dependencies-js-C56OBFr4.js +1510 -0
  98. package/dist/vendor-microsoft-applicationinsights-properties-js-CBJTBawx.js +761 -0
  99. package/dist/vendor-microsoft-applicationinsights-shims-CX8sJgar.js +70 -0
  100. package/dist/vendor-microsoft-applicationinsights-web-pim2ri-g.js +667 -0
  101. package/dist/vendor-microsoft-dynamicproto-js-CFBBUu9p.js +520 -0
  102. package/dist/vendor-microsoft-signalr-dUnlRsGm.js +3339 -0
  103. package/dist/vendor-moment-Mki5YqAR.js +5679 -0
  104. package/dist/vendor-nevware21-ts-async-CLMApQ9E.js +395 -0
  105. package/dist/vendor-nevware21-ts-utils-e8v8Jty3.js +1160 -0
  106. package/dist/vendor-normalize-css.css +1 -0
  107. package/dist/vendor-nth-check-Bx8TxtJt.js +157 -0
  108. package/dist/vendor-orderedmap-dGG6uMFJ.js +137 -0
  109. package/dist/vendor-parse5-Bt2NhSzR.js +8432 -0
  110. package/dist/vendor-parse5-htmlparser2-tree-adapter-BUUtKzf8.js +216 -0
  111. package/dist/vendor-popperjs-core-Cr2byIky.js +1790 -0
  112. package/dist/vendor-prettier-B4PaeWRQ.js +98 -0
  113. package/dist/vendor-prosemirror-commands-BH9lWGpW.js +561 -0
  114. package/dist/vendor-prosemirror-dropcursor-CeyPcxrA.js +146 -0
  115. package/dist/vendor-prosemirror-gapcursor-U8UoUJII.js +236 -0
  116. package/dist/vendor-prosemirror-history-BDaJkvNx.js +414 -0
  117. package/dist/vendor-prosemirror-keymap-BbWvIWmH.js +128 -0
  118. package/dist/vendor-prosemirror-markdown-gB0PXBbz.js +866 -0
  119. package/dist/vendor-prosemirror-model-BZu3WVcD.js +3463 -0
  120. package/dist/vendor-prosemirror-schema-list-Bl9NpKA7.js +158 -0
  121. package/dist/vendor-prosemirror-state-BvL9Pxph.js +1003 -0
  122. package/dist/vendor-prosemirror-tables-17qAnviK.js +2159 -0
  123. package/dist/vendor-prosemirror-transform-CE9VV3qg.js +2156 -0
  124. package/dist/vendor-prosemirror-view-CU2WTHT7.js +5811 -0
  125. package/dist/vendor-punycode-js-iAs5RxMf.js +441 -0
  126. package/dist/vendor-rope-sequence-BdXDKoGt.js +207 -0
  127. package/dist/vendor-semver-CVLMK-S4.js +2702 -0
  128. package/dist/vendor-ssr-window-s6OpKa3O.js +150 -0
  129. package/dist/vendor-swiper-CdiyNHVt.js +5679 -0
  130. package/dist/vendor-swiper.css +1 -0
  131. package/dist/vendor-tanstack-virtual-core-l0sNRNKZ.js +1 -0
  132. package/dist/vendor-tanstack-vue-virtual-l0sNRNKZ.js +1 -0
  133. package/dist/vendor-tippy-js-DWFe2TfK.js +1647 -0
  134. package/dist/vendor-tiptap-core-NfwGfaQk.js +4910 -0
  135. package/dist/vendor-tiptap-extension-blockquote-jmWBTtsI.js +57 -0
  136. package/dist/vendor-tiptap-extension-bold-p5frh4ak.js +97 -0
  137. package/dist/vendor-tiptap-extension-bubble-menu-KUhZSfrs.js +218 -0
  138. package/dist/vendor-tiptap-extension-bullet-list-COmZRoSB.js +73 -0
  139. package/dist/vendor-tiptap-extension-code-block-DyTARZss.js +221 -0
  140. package/dist/vendor-tiptap-extension-code-jVv6CXpX.js +75 -0
  141. package/dist/vendor-tiptap-extension-document-DssuotYs.js +13 -0
  142. package/dist/vendor-tiptap-extension-dropcursor-BoO0Qv91.js +26 -0
  143. package/dist/vendor-tiptap-extension-floating-menu-CrO8CN5w.js +165 -0
  144. package/dist/vendor-tiptap-extension-gapcursor-KpsWEoMD.js +30 -0
  145. package/dist/vendor-tiptap-extension-hard-break-ldOzhSvf.js +68 -0
  146. package/dist/vendor-tiptap-extension-heading-CKz2llX0.js +77 -0
  147. package/dist/vendor-tiptap-extension-history-DeKZ2VQ9.js +48 -0
  148. package/dist/vendor-tiptap-extension-horizontal-rule-CAjWRyDS.js +92 -0
  149. package/dist/vendor-tiptap-extension-image-ZagcEYuk.js +76 -0
  150. package/dist/vendor-tiptap-extension-italic-CM4xdznY.js +96 -0
  151. package/dist/vendor-tiptap-extension-link-Z-AMC4Ri.js +414 -0
  152. package/dist/vendor-tiptap-extension-list-item-BJi5QpXc.js +37 -0
  153. package/dist/vendor-tiptap-extension-ordered-list-C_TMrfBE.js +97 -0
  154. package/dist/vendor-tiptap-extension-paragraph-CQw0E0Au.js +39 -0
  155. package/dist/vendor-tiptap-extension-placeholder-BBNVKfa_.js +66 -0
  156. package/dist/vendor-tiptap-extension-strike-DUyMYX1Z.js +79 -0
  157. package/dist/vendor-tiptap-extension-table-cell-CoDIMPA5.js +47 -0
  158. package/dist/vendor-tiptap-extension-table-header-DvbGHnmw.js +47 -0
  159. package/dist/vendor-tiptap-extension-table-row-D1uqN5Aj.js +26 -0
  160. package/dist/vendor-tiptap-extension-table-tKS4MOM4.js +354 -0
  161. package/dist/vendor-tiptap-extension-text-DtRBhKB2.js +12 -0
  162. package/dist/vendor-tiptap-extension-underline-DqaSFp_P.js +50 -0
  163. package/dist/vendor-tiptap-markdown-7-PCADTU.js +1017 -0
  164. package/dist/vendor-tiptap-pm-l0sNRNKZ.js +1 -0
  165. package/dist/vendor-tiptap-starter-kit-CDSV_Zuu.js +88 -0
  166. package/dist/vendor-tiptap-vue-3-DZg2fjq_.js +268 -0
  167. package/dist/vendor-truncate-html-3qQY0Djo.js +196 -0
  168. package/dist/vendor-uc-micro-jjt6LQ65.js +23 -0
  169. package/dist/vendor-vee-validate-i18n-v_gHjRmD.js +154 -0
  170. package/dist/vendor-vee-validate-rules-DzV3VY3N.js +536 -0
  171. package/dist/vendor-vue-currency-input-DGAkEFBO.js +545 -0
  172. package/dist/vendor-vue-demi-l0sNRNKZ.js +1 -0
  173. package/dist/vendor-vue-devtools-api-DXYR8qBG.js +169 -0
  174. package/dist/vendor-vue-i18n-Co752uk3.js +1897 -0
  175. package/dist/vendor-vue3-application-insights-CYWFCr_J.js +119 -0
  176. package/dist/vendor-vue3-touch-events-BJEAiSa3.js +416 -0
  177. package/dist/vendor-vuepic-vue-datepicker-BSWXRSiu.js +5019 -0
  178. package/dist/vendor-vuepic-vue-datepicker.css +1 -0
  179. package/dist/vendor-vueuse-components-l1bL12mE.js +339 -0
  180. package/dist/vendor-vueuse-core-DGcJOmwG.js +7743 -0
  181. package/dist/vendor-vueuse-shared-_mOXsFuM.js +1568 -0
  182. package/dist/vendor-w3c-keyname-BOm2dtJm.js +121 -0
  183. package/package.json +22 -11
  184. package/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue +3 -3
  185. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +2 -1
  186. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.ts +1 -0
  187. package/shared/components/change-password-button/change-password-button.vue +1 -2
  188. package/shared/components/logout-button/logout-button.vue +1 -2
  189. package/shared/components/notifications/components/notification-container/index.ts +1 -1
  190. package/shared/components/notifications/core/notification.ts +1 -1
  191. package/shared/components/settings-menu-item/settings-menu-item.vue +1 -0
  192. package/shared/components/sidebar/sidebar.vue +2 -2
  193. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +2 -1
  194. package/ui/components/atoms/vc-hint/vc-hint.vue +2 -0
  195. package/ui/components/atoms/vc-icon/composables/use-icon.ts +1 -1
  196. package/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue +18 -14
  197. package/ui/components/atoms/vc-icon/icons/index.ts +1 -27
  198. package/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue +7 -11
  199. package/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue +37 -31
  200. package/ui/components/atoms/vc-icon/vc-icon-examples.vue +1 -1
  201. package/ui/components/atoms/vc-icon/vc-icon.stories.ts +4 -5
  202. package/ui/components/atoms/vc-icon/vc-icon.vue +33 -163
  203. package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +22 -70
  204. package/ui/components/atoms/vc-icon/vc-material-icon.vue +28 -59
  205. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +2 -3
  206. package/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue +103 -0
  207. package/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue +252 -0
  208. package/ui/components/molecules/vc-editor/vc-editor.stories.ts +1 -4
  209. package/ui/components/molecules/vc-editor/vc-editor.vue +666 -360
  210. package/ui/components/molecules/vc-form/vc-form.vue +7 -5
  211. package/ui/components/molecules/vc-input/vc-input.vue +1 -1
  212. package/ui/components/molecules/vc-pagination/vc-pagination.vue +4 -17
  213. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarMobileActions.vue +1 -1
  214. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue +1 -3
  215. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +1 -4
  216. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +1 -3
  217. package/ui/components/organisms/vc-app/vc-app.backupsb.ts +214 -214
  218. package/ui/components/organisms/vc-app/vc-app.vue +3 -5
  219. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +3 -10
  220. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue +1 -1
  221. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue +2 -2
  222. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue +2 -2
  223. package/ui/components/organisms/vc-blade/vc-blade.vue +4 -5
  224. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +1 -3
  225. package/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue +1 -2
  226. package/ui/components/organisms/vc-table/composables/useTableState.ts +5 -5
  227. package/dist/apl-B2DGVGxc.js +0 -76
  228. package/dist/asciiarmor-2LVJmxlE.js +0 -34
  229. package/dist/asn1-jKiBa2Ya.js +0 -95
  230. package/dist/asterisk-DS281yxp.js +0 -271
  231. package/dist/brainfuck-C_p9pTT8.js +0 -34
  232. package/dist/clike-DGTaUp48.js +0 -620
  233. package/dist/clojure-CCKyeQKf.js +0 -800
  234. package/dist/cmake-CuaCgAKt.js +0 -28
  235. package/dist/cobol-BlTKFDRj.js +0 -72
  236. package/dist/coffeescript-BVCvwO8I.js +0 -179
  237. package/dist/commonlisp-D_kxz07b.js +0 -75
  238. package/dist/crystal-D309uH6_.js +0 -217
  239. package/dist/css-BkF-NPzE.js +0 -1553
  240. package/dist/cypher-BMq4Fwjl.js +0 -68
  241. package/dist/d-BZcgY6La.js +0 -127
  242. package/dist/diff-Cg9d_RX2.js +0 -18
  243. package/dist/dockerfile-DIy8NleC.js +0 -194
  244. package/dist/dtd-CtLokQ-U.js +0 -84
  245. package/dist/dylan-QYeExnWK.js +0 -234
  246. package/dist/ebnf-DUPDuY4r.js +0 -78
  247. package/dist/ecl-CiXN-g_D.js +0 -121
  248. package/dist/eiffel-yQhjl4T1.js +0 -110
  249. package/dist/elm-CNT9vbN0.js +0 -108
  250. package/dist/erlang-CFOYdy9e.js +0 -487
  251. package/dist/factor-DDOC7X6P.js +0 -65
  252. package/dist/fcl-CPC2WYrI.js +0 -103
  253. package/dist/forth-BmxRyE9S.js +0 -60
  254. package/dist/fortran-9bvPyrOW.js +0 -442
  255. package/dist/gas-cpmYfFX2.js +0 -183
  256. package/dist/gherkin-CJuwpceU.js +0 -34
  257. package/dist/groovy-DZeT_VM-.js +0 -146
  258. package/dist/haskell-Bvt3Qq1t.js +0 -375
  259. package/dist/haxe-70NVW1pR.js +0 -359
  260. package/dist/http-D9LttvKF.js +0 -44
  261. package/dist/idl-B6TRFYjl.js +0 -947
  262. package/dist/index-4DWvmoYg.js +0 -71
  263. package/dist/index-52o7mJaX.js +0 -156
  264. package/dist/index-B0KatioT.js +0 -98
  265. package/dist/index-BP3W8zuk.js +0 -268
  266. package/dist/index-BykT5L1A.js +0 -148134
  267. package/dist/index-CfXo9hsG.js +0 -75
  268. package/dist/index-Ch37pBUt.js +0 -308
  269. package/dist/index-D2KGkAYT.js +0 -93
  270. package/dist/index-D83zQom_.js +0 -58
  271. package/dist/index-DuQrVLbu.js +0 -134
  272. package/dist/index-_fdMid5h.js +0 -288
  273. package/dist/index-a1wO-owY.js +0 -545
  274. package/dist/index-crMpNSFe.js +0 -611
  275. package/dist/index-dmBRpHHY.js +0 -137
  276. package/dist/index-kBdB14Fz.js +0 -341
  277. package/dist/index-uBhy41le.js +0 -249
  278. package/dist/index-zZrijNsr.js +0 -299
  279. package/dist/javascript-C2yteZeJ.js +0 -691
  280. package/dist/jinja2-DnB6dQmV.js +0 -154
  281. package/dist/julia-DpvXAuO6.js +0 -241
  282. package/dist/livescript-CanGTf8u.js +0 -272
  283. package/dist/lua-XplVlWi_.js +0 -217
  284. package/dist/mathematica-jaRHnSxC.js +0 -35
  285. package/dist/mbox-BctzC1hL.js +0 -76
  286. package/dist/mirc-CFBPAOaF.js +0 -72
  287. package/dist/mllike-BSnXJBGA.js +0 -272
  288. package/dist/modelica-vUgVs--1.js +0 -93
  289. package/dist/mscgen-Cpl0NYLN.js +0 -104
  290. package/dist/mumps-CQoS1kWX.js +0 -25
  291. package/dist/nginx-zDPm3Z74.js +0 -89
  292. package/dist/nsis-fePjrhq7.js +0 -62
  293. package/dist/ntriples-CsNjv2QF.js +0 -79
  294. package/dist/octave-C8PmmSRH.js +0 -143
  295. package/dist/oz-Ce8aN8oE.js +0 -151
  296. package/dist/pascal-De0D6mP7.js +0 -77
  297. package/dist/perl-B4bSCe1C.js +0 -915
  298. package/dist/pig-D24Z8EXi.js +0 -54
  299. package/dist/powershell-DkYVfTzP.js +0 -249
  300. package/dist/properties-Dn9wna3M.js +0 -26
  301. package/dist/protobuf-BPIjwpzm.js +0 -49
  302. package/dist/pug-CwAQJzGR.js +0 -248
  303. package/dist/puppet-nyd4dhjf.js +0 -45
  304. package/dist/python-BkR3uSy8.js +0 -313
  305. package/dist/q-DXjKs-tC.js +0 -83
  306. package/dist/r-LKEuhEGI.js +0 -104
  307. package/dist/rpm-IznJm2Xc.js +0 -57
  308. package/dist/ruby-CcYfvIk6.js +0 -228
  309. package/dist/sas-7E8yHoCW.js +0 -105
  310. package/dist/scheme-DjibxsNh.js +0 -124
  311. package/dist/shared/modules/dynamic/components/fields/storybook/common/args.d.ts +0 -113
  312. package/dist/shared/modules/dynamic/components/fields/storybook/common/args.d.ts.map +0 -1
  313. package/dist/shared/modules/dynamic/components/fields/storybook/common/templates.d.ts +0 -3
  314. package/dist/shared/modules/dynamic/components/fields/storybook/common/templates.d.ts.map +0 -1
  315. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +0 -102
  316. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +0 -1
  317. package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceHighlighter.d.ts +0 -4
  318. package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceHighlighter.d.ts.map +0 -1
  319. package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceTransform.d.ts +0 -3
  320. package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceTransform.d.ts.map +0 -1
  321. package/dist/shell-C0C2sNA_.js +0 -182
  322. package/dist/sieve-Bwz7vjP5.js +0 -72
  323. package/dist/simple-mode-B0dvCdAA.js +0 -89
  324. package/dist/smalltalk-Bhddl2pB.js +0 -48
  325. package/dist/solr-BNlsLglM.js +0 -41
  326. package/dist/sparql-FarWu_Gb.js +0 -197
  327. package/dist/spreadsheet-C-cy4P5N.js +0 -49
  328. package/dist/sql-CfG5lQ3l.js +0 -282
  329. package/dist/stex-Du4h4KAU.js +0 -129
  330. package/dist/stylus-CAdqWld3.js +0 -250
  331. package/dist/swift-DSxqR9R6.js +0 -230
  332. package/dist/tcl-xfoLljhY.js +0 -81
  333. package/dist/textile-D1AWE-pc.js +0 -295
  334. package/dist/tiddlywiki-5wqsXtSk.js +0 -155
  335. package/dist/tiki-__Kn3CeS.js +0 -181
  336. package/dist/toml-BHiuTcfn.js +0 -49
  337. package/dist/troff-D2UO-fKf.js +0 -35
  338. package/dist/ttcn-Bsa4sfRm.js +0 -123
  339. package/dist/ttcn-cfg-Bac_acMi.js +0 -88
  340. package/dist/turtle-xwJUxoPV.js +0 -80
  341. package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts +0 -7
  342. package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts.map +0 -1
  343. package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts +0 -7
  344. package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts.map +0 -1
  345. package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts +0 -7
  346. package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts.map +0 -1
  347. package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts +0 -7
  348. package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts.map +0 -1
  349. package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts +0 -7
  350. package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts.map +0 -1
  351. package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts +0 -7
  352. package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts.map +0 -1
  353. package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts +0 -7
  354. package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts.map +0 -1
  355. package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts +0 -7
  356. package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts.map +0 -1
  357. package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts +0 -7
  358. package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts.map +0 -1
  359. package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts +0 -7
  360. package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts.map +0 -1
  361. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts +0 -7
  362. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts.map +0 -1
  363. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts +0 -7
  364. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts.map +0 -1
  365. package/dist/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue.d.ts +0 -7
  366. package/dist/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue.d.ts.map +0 -1
  367. package/dist/ui/components/atoms/vc-icon/icons/GridDotsIcon.vue.d.ts +0 -7
  368. package/dist/ui/components/atoms/vc-icon/icons/GridDotsIcon.vue.d.ts.map +0 -1
  369. package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts +0 -7
  370. package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts.map +0 -1
  371. package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts +0 -7
  372. package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts.map +0 -1
  373. package/dist/ui/components/atoms/vc-icon/icons/OffersIcon.vue.d.ts +0 -7
  374. package/dist/ui/components/atoms/vc-icon/icons/OffersIcon.vue.d.ts.map +0 -1
  375. package/dist/ui/components/atoms/vc-icon/icons/OrdersIcon.vue.d.ts +0 -7
  376. package/dist/ui/components/atoms/vc-icon/icons/OrdersIcon.vue.d.ts.map +0 -1
  377. package/dist/ui/components/atoms/vc-icon/icons/PeopleIcon.vue.d.ts +0 -7
  378. package/dist/ui/components/atoms/vc-icon/icons/PeopleIcon.vue.d.ts.map +0 -1
  379. package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts +0 -7
  380. package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts.map +0 -1
  381. package/dist/ui/components/atoms/vc-icon/icons/ProductsIcon.vue.d.ts +0 -7
  382. package/dist/ui/components/atoms/vc-icon/icons/ProductsIcon.vue.d.ts.map +0 -1
  383. package/dist/ui/components/atoms/vc-icon/icons/ProfileIcon.vue.d.ts +0 -7
  384. package/dist/ui/components/atoms/vc-icon/icons/ProfileIcon.vue.d.ts.map +0 -1
  385. package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts +0 -7
  386. package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts.map +0 -1
  387. package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts +0 -7
  388. package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts.map +0 -1
  389. package/dist/ui/components/atoms/vc-icon/icons/ShoppingCardIcon.vue.d.ts +0 -7
  390. package/dist/ui/components/atoms/vc-icon/icons/ShoppingCardIcon.vue.d.ts.map +0 -1
  391. package/dist/ui/components/atoms/vc-icon/icons/VendorSwitchIcon.vue.d.ts +0 -7
  392. package/dist/ui/components/atoms/vc-icon/icons/VendorSwitchIcon.vue.d.ts.map +0 -1
  393. package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts +0 -7
  394. package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts.map +0 -1
  395. package/dist/vb-c2kQGd6-.js +0 -74
  396. package/dist/vbscript-1f_Dhg5H.js +0 -324
  397. package/dist/velocity-DJd0pTTC.js +0 -96
  398. package/dist/verilog-CiS1jyi5.js +0 -262
  399. package/dist/vhdl-T9HkrbI2.js +0 -106
  400. package/dist/webidl-CjfDENEo.js +0 -155
  401. package/dist/xquery-BUQdORAS.js +0 -422
  402. package/dist/yacas-C0absKBh.js +0 -73
  403. package/dist/z80-Pki2zAjW.js +0 -61
  404. package/shared/modules/dynamic/components/fields/storybook/Button.stories.ts +0 -186
  405. package/shared/modules/dynamic/components/fields/storybook/Card.stories.ts +0 -175
  406. package/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.ts +0 -185
  407. package/shared/modules/dynamic/components/fields/storybook/ContentField.stories.ts +0 -245
  408. package/shared/modules/dynamic/components/fields/storybook/EditorField.stories.ts +0 -192
  409. package/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.ts +0 -347
  410. package/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.ts +0 -239
  411. package/shared/modules/dynamic/components/fields/storybook/ImageField.stories.ts +0 -186
  412. package/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.ts +0 -281
  413. package/shared/modules/dynamic/components/fields/storybook/InputField.stories.ts +0 -312
  414. package/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.ts +0 -361
  415. package/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.ts +0 -224
  416. package/shared/modules/dynamic/components/fields/storybook/RatingField.stories.ts +0 -131
  417. package/shared/modules/dynamic/components/fields/storybook/SelectField.stories.ts +0 -666
  418. package/shared/modules/dynamic/components/fields/storybook/StatusField.stories.ts +0 -202
  419. package/shared/modules/dynamic/components/fields/storybook/SwitchField.stories.ts +0 -178
  420. package/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.ts +0 -203
  421. package/shared/modules/dynamic/components/fields/storybook/VideoField.stories.ts +0 -92
  422. package/shared/modules/dynamic/components/fields/storybook/common/args.ts +0 -130
  423. package/shared/modules/dynamic/components/fields/storybook/common/templates.ts +0 -8
  424. package/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.ts +0 -54
  425. package/shared/modules/dynamic/components/fields/storybook/utils/sourceHighlighter.ts +0 -16
  426. package/shared/modules/dynamic/components/fields/storybook/utils/sourceTransform.ts +0 -41
  427. package/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue +0 -15
  428. package/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue +0 -20
  429. package/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue +0 -13
  430. package/ui/components/atoms/vc-icon/icons/BellIcon.vue +0 -14
  431. package/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue +0 -13
  432. package/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue +0 -13
  433. package/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue +0 -13
  434. package/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue +0 -13
  435. package/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue +0 -16
  436. package/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue +0 -20
  437. package/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue +0 -14
  438. package/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue +0 -14
  439. package/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue +0 -27
  440. package/ui/components/atoms/vc-icon/icons/GridDotsIcon.vue +0 -22
  441. package/ui/components/atoms/vc-icon/icons/LogoutIcon.vue +0 -13
  442. package/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue +0 -14
  443. package/ui/components/atoms/vc-icon/icons/OffersIcon.vue +0 -23
  444. package/ui/components/atoms/vc-icon/icons/OrdersIcon.vue +0 -19
  445. package/ui/components/atoms/vc-icon/icons/PeopleIcon.vue +0 -21
  446. package/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue +0 -20
  447. package/ui/components/atoms/vc-icon/icons/ProductsIcon.vue +0 -23
  448. package/ui/components/atoms/vc-icon/icons/ProfileIcon.vue +0 -18
  449. package/ui/components/atoms/vc-icon/icons/SearchIcon.vue +0 -14
  450. package/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue +0 -21
  451. package/ui/components/atoms/vc-icon/icons/ShoppingCardIcon.vue +0 -16
  452. package/ui/components/atoms/vc-icon/icons/VendorSwitchIcon.vue +0 -26
  453. package/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue +0 -19
@@ -110,16 +110,6 @@ const sizeMap = {
110
110
  xxxl: 64,
111
111
  } as const;
112
112
 
113
- // Scaling factors for different icon types to make them visually equal
114
- const scalingFactors = {
115
- fontawesome: 1, // base reference
116
- material: 1.1,
117
- bootstrap: 0.95,
118
- lucide: 1.2,
119
- custom: 1,
120
- svg: 1,
121
- };
122
-
123
113
  // Function to detect icon type if not explicitly specified
124
114
  const detectIconType = computed((): IconType => {
125
115
  if (typeof props.icon !== "string") {
@@ -162,16 +152,16 @@ const normalizedIconName = computed(() => {
162
152
  return props.icon;
163
153
  }
164
154
 
165
- if (detectIconType.value === "material" && props.icon.startsWith("material-")) {
166
- return props.icon.replace(/^material-/, "");
167
- }
155
+ const type = detectIconType.value;
168
156
 
169
- if (detectIconType.value === "lucide" && props.icon.startsWith("lucide-")) {
170
- const baseName = props.icon.replace(/^lucide-/, "");
171
- return baseName.endsWith("Icon") ? baseName : `${baseName}Icon`;
157
+ switch (type) {
158
+ case "material":
159
+ return props.icon.replace(/^material-/, "");
160
+ case "lucide":
161
+ return props.icon.replace(/^lucide-/, "");
162
+ default:
163
+ return props.icon;
172
164
  }
173
-
174
- return props.icon;
175
165
  });
176
166
 
177
167
  // Check if icon is a Material Design symbol
@@ -315,82 +305,32 @@ const containerStyle = computed(() => {
315
305
 
316
306
  // Prepare props for the rendered component
317
307
  const componentProps = computed(() => {
318
- if (isMaterialIcon.value) {
319
- // Clean the name from possible suffixes of the icon type
320
- const cleanIconName =
321
- typeof normalizedIconName.value === "string"
322
- ? normalizedIconName.value.replace(/-outlined$|-rounded$|-sharp$/, "")
323
- : normalizedIconName.value;
324
-
325
- return {
326
- icon: cleanIconName,
327
- size: props.size,
328
- variant: props.variant,
329
- type: "outlined",
330
- fill: 0,
331
- weight: 300,
332
- grade: 0,
333
- customSize: props.customSize, // Set custom size without scaling
334
- };
335
- }
336
-
337
- if (isBootstrapIcon.value) {
338
- // For Bootstrap icons
339
- const iconName = typeof props.icon === "string" ? props.icon : "";
340
-
341
- return {
342
- icon: iconName,
343
- size: props.size,
344
- variant: props.variant,
345
- customSize: props.customSize, // Set custom size without scaling
346
- };
347
- }
348
-
349
- if (isLucideIcon.value) {
350
- // For Lucide icons
351
- const iconName =
352
- typeof normalizedIconName.value === "string" ? normalizedIconName.value : String(normalizedIconName.value);
353
-
354
- return {
355
- icon: iconName,
356
- size: props.size,
357
- variant: props.variant,
358
- strokeWidth: 1.5,
359
- customSize: props.customSize, // Set custom size without scaling
360
- };
361
- }
362
-
363
- if (isFontAwesomeIcon.value) {
364
- // For Font Awesome icons
365
- return {
366
- icon: typeof props.icon === "string" ? props.icon : "",
367
- size: props.size,
368
- variant: props.variant,
369
- customSize: props.customSize, // Set custom size without scaling
370
- };
371
- }
372
-
373
- if (isSvgIcon.value) {
374
- return {
375
- icon: svgPath.value,
376
- size: props.size,
377
- variant: props.variant,
378
- strokeWidth: 1.5,
379
- customSize: props.customSize, // Set custom size without scaling
380
- basePath: props.basePath,
381
- };
382
- }
383
-
384
- if (isCustomIcon.value) {
385
- return {
386
- size: props.size,
387
- width: calculatedSize.value,
388
- height: calculatedSize.value,
389
- color: props.variant ? `var(--icon-color-${props.variant})` : "currentColor",
390
- };
308
+ const type = detectIconType.value;
309
+
310
+ switch (type) {
311
+ case "lucide":
312
+ case "material":
313
+ case "bootstrap":
314
+ case "fontawesome":
315
+ return { icon: normalizedIconName.value, size: props.size, variant: props.variant, customSize: props.customSize };
316
+ case "svg":
317
+ return {
318
+ icon: svgPath.value,
319
+ size: props.size,
320
+ variant: props.variant,
321
+ strokeWidth: 1.5,
322
+ customSize: props.customSize, // Set custom size without scaling
323
+ basePath: props.basePath,
324
+ };
325
+ default:
326
+ // For custom components, no extra props needed
327
+ return {
328
+ size: props.size,
329
+ width: calculatedSize.value,
330
+ height: calculatedSize.value,
331
+ color: props.variant ? `var(--icon-color-${props.variant})` : "currentColor",
332
+ };
391
333
  }
392
-
393
- return {};
394
334
  });
395
335
 
396
336
  // Check if icon is an SVG icon
@@ -534,74 +474,4 @@ const svgPath = computed(() => {
534
474
  min-height: calc(var(--icon-size-xxxl) * 1.33);
535
475
  font-size: var(--icon-size-xxxl); /* Set font-size for the container */
536
476
  }
537
-
538
- /* Material Icons specific styles */
539
- .material-symbols-outlined,
540
- .material-symbols-rounded,
541
- .material-symbols-sharp {
542
- font-family: "Material Symbols Outlined";
543
- font-weight: normal;
544
- font-style: normal;
545
- line-height: 1;
546
- letter-spacing: normal;
547
- text-transform: none;
548
- white-space: nowrap;
549
- word-wrap: normal;
550
- direction: ltr;
551
- font-feature-settings: "liga";
552
- -webkit-font-feature-settings: "liga";
553
- -webkit-font-smoothing: antialiased;
554
- }
555
-
556
- /* Bootstrap Icons specific styles */
557
- [class^="bi-"],
558
- [class*=" bi-"] {
559
- font-family: bootstrap-icons !important;
560
- font-style: normal;
561
- font-weight: normal !important;
562
- font-variant: normal;
563
- text-transform: none;
564
- line-height: 1;
565
- -webkit-font-smoothing: antialiased;
566
- -moz-osx-font-smoothing: grayscale;
567
- }
568
-
569
- /* Font Awesome Icons */
570
- [class^="fa-"],
571
- [class*=" fa-"],
572
- [class~="fas"],
573
- [class~="far"],
574
- [class~="fal"],
575
- [class~="fab"],
576
- [class~="fad"] {
577
- font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 6 Duotone", "Font Awesome 6 Pro";
578
- font-style: normal;
579
- font-weight: normal;
580
- font-variant: normal;
581
- text-transform: none;
582
- line-height: 1;
583
- -webkit-font-smoothing: antialiased;
584
- -moz-osx-font-smoothing: grayscale;
585
- }
586
-
587
- /* Font weight adjustments for Font Awesome */
588
- .fas,
589
- .fa-solid {
590
- font-weight: 900;
591
- }
592
-
593
- .far,
594
- .fa-regular {
595
- font-weight: 400;
596
- }
597
-
598
- .fal,
599
- .fa-light {
600
- font-weight: 300;
601
- }
602
-
603
- .fab,
604
- .fa-brands {
605
- font-family: "Font Awesome 6 Brands";
606
- }
607
477
  </style>
@@ -1,7 +1,6 @@
1
1
  <template>
2
- <component
3
- :is="resolvedIconComponent"
4
- v-if="resolvedIconComponent"
2
+ <Icon
3
+ :icon="iconName"
5
4
  :class="[
6
5
  'vc-lucide-icon',
7
6
  !hasCustomSize && `vc-lucide-icon--${size}`,
@@ -10,18 +9,12 @@
10
9
  :style="computedStyle"
11
10
  aria-hidden="true"
12
11
  />
13
- <span
14
- v-else
15
- :class="['vc-lucide-icon', !hasCustomSize && `vc-lucide-icon--${size}`]"
16
- >
17
- <i class="vc-lucide-icon__fallback">❓</i>
18
- </span>
19
12
  </template>
20
13
 
21
14
  <script lang="ts" setup>
22
- import { computed, markRaw, onMounted, ref } from "vue";
15
+ import { computed } from "vue";
16
+ import { Icon } from "@iconify/vue";
23
17
  import type { IconSize, IconVariant } from "./types";
24
- import type { Component } from "vue";
25
18
  import { useIcon } from "./composables";
26
19
 
27
20
  interface Props {
@@ -40,11 +33,6 @@ interface Props {
40
33
  */
41
34
  variant?: IconVariant;
42
35
 
43
- /**
44
- * Stroke width for SVG
45
- */
46
- strokeWidth?: number;
47
-
48
36
  /**
49
37
  * Custom size in pixels
50
38
  */
@@ -53,15 +41,11 @@ interface Props {
53
41
 
54
42
  const props = withDefaults(defineProps<Props>(), {
55
43
  size: "m",
56
- strokeWidth: 1.5,
57
44
  });
58
45
 
59
46
  // Check if using custom size to conditionally apply CSS class
60
47
  const hasCustomSize = computed(() => typeof props.customSize === "number" && props.customSize > 0);
61
48
 
62
- // Component reference for Lucide icon
63
- const resolvedIconComponent = ref<Component | null>(null);
64
-
65
49
  // Use the shared icon composable for consistent scaling
66
50
  const { iconStyle } = useIcon({
67
51
  type: "lucide",
@@ -70,71 +54,39 @@ const { iconStyle } = useIcon({
70
54
  customSize: props.customSize,
71
55
  });
72
56
 
73
- // Normalize the icon name for Lucide
74
- const normalizedIconName = computed(() => {
75
- if (!props.icon) return "HelpCircleIcon";
76
-
77
- // Handle removal of lucide- prefix
78
- let name = props.icon;
79
- if (name.startsWith("lucide-")) {
80
- name = name.substring(7);
81
- }
82
-
83
- // Ensure name ends with 'Icon'
84
- if (!name.endsWith("Icon")) {
85
- name = `${name}Icon`;
86
- }
87
-
88
- // Convert to PascalCase if kebab-case
89
- if (name.includes("-")) {
90
- name = name
91
- .split("-")
92
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
93
- .join("");
94
- }
95
-
96
- // Ensure first letter is capitalized
97
- return name.charAt(0).toUpperCase() + name.slice(1);
98
- });
99
-
100
57
  // Combine the shared icon styles with Lucide-specific settings
101
58
  const computedStyle = computed(() => {
102
59
  const styles = { ...iconStyle.value };
103
60
 
104
- if (props.strokeWidth) {
105
- styles.strokeWidth = props.strokeWidth.toString();
106
- }
107
-
108
61
  // If using custom size, make sure size is applied with !important
109
- if (hasCustomSize.value) {
110
- if (styles.width) styles.width = `${styles.width.replace("px", "")}px !important`;
111
- if (styles.height) styles.height = `${styles.height.replace("px", "")}px !important`;
112
- }
62
+ // if (hasCustomSize.value) {
63
+ // if (styles.width) styles.width = `${styles.width.replace("px", "")}px !important`;
64
+ // if (styles.height) styles.height = `${styles.height.replace("px", "")}px !important`;
65
+ // }
113
66
 
114
67
  return styles;
115
68
  });
116
69
 
117
- // Dynamically import the Lucide icon
118
- onMounted(async () => {
119
- try {
120
- // Import from lucide-vue-next
121
- const module = await import("lucide-vue-next");
122
-
123
- // Get the icon component safely with type checking
124
- const iconName = normalizedIconName.value;
125
- if (module && typeof module === "object" && iconName in module) {
126
- resolvedIconComponent.value = markRaw(module[iconName as keyof typeof module] as Component);
127
- } else {
128
- console.warn(`Lucide icon not found: ${iconName}`);
129
- }
130
- } catch (error) {
131
- console.error(`Error loading Lucide icon: ${normalizedIconName.value}`, error);
70
+ const iconName = computed(() => {
71
+ let name = props.icon;
72
+
73
+ // Convert from PascalCaseIcon or kebab-caseIcon to kebab-case.
74
+ name = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
75
+
76
+ if (name.endsWith("-icon")) {
77
+ name = name.slice(0, -5);
132
78
  }
79
+
80
+ return `lucide:${name}`;
133
81
  });
134
82
  </script>
135
83
 
136
84
  <style lang="scss">
137
85
  .vc-lucide-icon {
86
+ & * {
87
+ stroke-width: var(--vc-lucide-icon-stroke-width, 1.5);
88
+ }
89
+
138
90
  display: inline-flex;
139
91
  align-items: center;
140
92
  justify-content: center;
@@ -1,20 +1,20 @@
1
1
  <template>
2
- <span
2
+ <Icon
3
+ v-if="finalIconName"
4
+ :icon="finalIconName"
3
5
  :class="[
4
6
  'vc-material-icon',
5
7
  !hasCustomSize && `vc-material-icon--${size}`,
6
8
  variant ? `vc-material-icon--${variant}` : '',
7
- materialIconClass,
8
9
  ]"
9
10
  :style="computedStyle"
10
11
  aria-hidden="true"
11
- >
12
- {{ icon }}
13
- </span>
12
+ />
14
13
  </template>
15
14
 
16
15
  <script lang="ts" setup>
17
- import { computed } from "vue";
16
+ import { ref, watch, computed } from "vue";
17
+ import { Icon, loadIcon } from "@iconify/vue";
18
18
  import type { IconSize, IconVariant } from "./types";
19
19
  import { useIcon } from "./composables";
20
20
 
@@ -29,31 +29,11 @@ interface Props {
29
29
  */
30
30
  size?: IconSize;
31
31
 
32
- /**
33
- * Type of the Material icon (outlined, rounded, sharp)
34
- */
35
- type?: "outlined" | "rounded" | "sharp";
36
-
37
32
  /**
38
33
  * Icon color variant
39
34
  */
40
35
  variant?: IconVariant;
41
36
 
42
- /**
43
- * Fill value (0-1)
44
- */
45
- fill?: number;
46
-
47
- /**
48
- * Weight value (100-700)
49
- */
50
- weight?: number;
51
-
52
- /**
53
- * Grade value (-25 to 200)
54
- */
55
- grade?: number;
56
-
57
37
  /**
58
38
  * Custom size in pixels
59
39
  */
@@ -62,10 +42,6 @@ interface Props {
62
42
 
63
43
  const props = withDefaults(defineProps<Props>(), {
64
44
  size: "m",
65
- type: "outlined",
66
- fill: 0,
67
- weight: 300,
68
- grade: 0,
69
45
  });
70
46
 
71
47
  // Check if using custom size to conditionally apply CSS class
@@ -79,26 +55,33 @@ const { iconStyle } = useIcon({
79
55
  customSize: props.customSize,
80
56
  });
81
57
 
82
- // Compute the Google Material Symbols class based on type
83
- const materialIconClass = computed(() => {
84
- switch (props.type) {
85
- case "rounded":
86
- return "material-symbols-rounded";
87
- case "sharp":
88
- return "material-symbols-sharp";
89
- case "outlined":
90
- default:
91
- return "material-symbols-outlined";
92
- }
93
- });
58
+ const finalIconName = ref("");
59
+
60
+ watch(
61
+ () => props.icon,
62
+ (icon) => {
63
+ const collection = "material-symbols-light";
64
+
65
+ const cleanIconName = icon.replace(/_/g, "-");
66
+ const baseIcon = `${collection}:${cleanIconName}`;
67
+ const outlineIcon = `${collection}:${cleanIconName}-outline`;
68
+
69
+ loadIcon(outlineIcon)
70
+ .then(() => {
71
+ finalIconName.value = outlineIcon;
72
+ })
73
+ .catch(() => {
74
+ finalIconName.value = baseIcon;
75
+ });
76
+ },
77
+ { immediate: true },
78
+ );
94
79
 
95
80
  // Combine the shared icon styles with Material-specific settings
96
81
  const computedStyle = computed(() => {
97
82
  const styles = { ...iconStyle.value };
98
83
 
99
- // Apply Material variation settings
100
- styles.fontVariationSettings = `'FILL' ${props.fill}, 'wght' ${props.weight}, 'GRAD' ${props.grade}`;
101
-
84
+ // font-variation-settings is not applicable for SVG icons
102
85
  // If using custom size, make sure fontSize is applied with !important
103
86
  if (hasCustomSize.value && styles.fontSize) {
104
87
  styles.fontSize = `${styles.fontSize.replace("px", "")}px !important`;
@@ -110,20 +93,6 @@ const computedStyle = computed(() => {
110
93
 
111
94
  <style lang="scss">
112
95
  .vc-material-icon {
113
- font-family: "Material Symbols Outlined";
114
- font-weight: normal;
115
- font-style: normal;
116
- line-height: 1;
117
- letter-spacing: normal;
118
- text-transform: none;
119
- display: inline-block;
120
- white-space: nowrap;
121
- word-wrap: normal;
122
- direction: ltr;
123
- -webkit-font-feature-settings: "liga";
124
- -webkit-font-smoothing: antialiased;
125
- font-size: inherit;
126
-
127
96
  &--xs {
128
97
  font-size: var(--icon-size-xs);
129
98
  }
@@ -31,8 +31,8 @@
31
31
  >
32
32
  <VcButton
33
33
  text
34
- :icon="VertDotsIcon"
35
- icon-size="m"
34
+ icon="lucide-ellipsis-vertical"
35
+ icon-size="xl"
36
36
  class="vc-breadcrumbs__expand-button"
37
37
  :class="{
38
38
  'vc-breadcrumbs__expand-button--active': isActive,
@@ -85,7 +85,6 @@ import { Breadcrumbs } from "../../../types";
85
85
  import VcBreadcrumbsItem from "./_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue";
86
86
  import { GenericDropdown } from "./../../../../shared/components/generic-dropdown";
87
87
  import { useAdaptiveItems } from "../../../composables/useAdaptiveItems";
88
- import { VertDotsIcon } from "./../../atoms/vc-icon/icons";
89
88
 
90
89
  export interface Props {
91
90
  items?: Breadcrumbs[];
@@ -0,0 +1,103 @@
1
+ <template>
2
+ <button
3
+ type="button"
4
+ class="vc-editor-button"
5
+ :class="{ 'vc-editor-button--active': active }"
6
+ :disabled="disabled"
7
+ @click="$emit('action')"
8
+ >
9
+ <VcIcon
10
+ :icon="icon"
11
+ size="s"
12
+ :use-container="false"
13
+ />
14
+ </button>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import { VcIcon } from "../../../atoms";
19
+
20
+ defineProps({
21
+ icon: {
22
+ type: String,
23
+ required: true,
24
+ },
25
+ active: {
26
+ type: Boolean,
27
+ default: false,
28
+ },
29
+ disabled: {
30
+ type: Boolean,
31
+ default: false,
32
+ },
33
+ });
34
+
35
+ defineEmits(["action"]);
36
+ </script>
37
+
38
+ <style lang="scss">
39
+ :root {
40
+ // Button color variables
41
+ --vc-button-text: var(--neutrals-600);
42
+ --vc-button-text-hover: var(--neutrals-800);
43
+ --vc-button-text-active: var(--primary-600);
44
+ --vc-button-text-disabled: var(--neutrals-400);
45
+ --vc-button-bg: transparent;
46
+ --vc-button-bg-hover: var(--neutrals-100);
47
+ --vc-button-bg-active: var(--primary-100);
48
+ --vc-button-bg-disabled: transparent;
49
+ --vc-button-border-radius: 6px;
50
+ }
51
+
52
+ .vc-editor-button {
53
+ display: inline-flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ width: 2rem;
57
+ height: 2rem;
58
+ border: none;
59
+ border-radius: var(--vc-button-border-radius);
60
+ background-color: var(--vc-button-bg);
61
+ color: var(--vc-button-text);
62
+ cursor: pointer;
63
+ transition:
64
+ background-color 0.2s ease,
65
+ color 0.2s ease,
66
+ transform 0.1s ease;
67
+
68
+ &:hover:not(:disabled) {
69
+ background-color: var(--vc-button-bg-hover);
70
+ color: var(--vc-button-text-hover);
71
+ transform: translateY(-1px);
72
+ }
73
+
74
+ &:active:not(:disabled) {
75
+ transform: translateY(0);
76
+ }
77
+
78
+ &--active {
79
+ background-color: var(--vc-button-bg-active);
80
+ color: var(--vc-button-text-active);
81
+ font-weight: 600;
82
+
83
+ &:hover {
84
+ background-color: var(--primary-200);
85
+ color: var(--primary-700);
86
+ }
87
+ }
88
+
89
+ &:disabled {
90
+ color: var(--vc-button-text-disabled);
91
+ background-color: var(--vc-button-bg-disabled);
92
+ cursor: not-allowed;
93
+ opacity: 0.5;
94
+ transform: none;
95
+ }
96
+
97
+ // Focus styles for accessibility
98
+ &:focus-visible {
99
+ outline: 2px solid var(--primary-500);
100
+ outline-offset: 2px;
101
+ }
102
+ }
103
+ </style>