morya-ui 0.4.5 → 0.5.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 (220) hide show
  1. package/CHANGELOG.md +41 -2
  2. package/dist/{Input-D2bee2LU.js → Input-BErawS7K.js} +1 -5
  3. package/dist/InputNumber-DjbXtTzR.js +245 -0
  4. package/dist/{Pagination-DpNOb0CS.js → Pagination-B8WYoL2a.js} +1 -1
  5. package/dist/{Popover-Bnz7KNZq.js → Popover-zQChu00_.js} +6 -1
  6. package/dist/{Select-q4X2ff_M.js → Select-BaFKBeIh.js} +2 -2
  7. package/dist/{Textarea-DsFOAtPd.js → Textarea-WCEgpzbq.js} +1 -5
  8. package/dist/accordion/style.css +6 -15
  9. package/dist/affix/style.css +6 -15
  10. package/dist/alert/style.css +6 -15
  11. package/dist/anchor/style.css +6 -15
  12. package/dist/auto-complete/style.css +6 -15
  13. package/dist/avatar/style.css +6 -15
  14. package/dist/badge/style.css +6 -15
  15. package/dist/block-ui/style.css +6 -15
  16. package/dist/breadcrumb/style.css +6 -15
  17. package/dist/button/style.css +6 -15
  18. package/dist/calendar/index.js +1 -1
  19. package/dist/calendar/style.css +6 -15
  20. package/dist/card/style.css +6 -15
  21. package/dist/carousel/style.css +6 -15
  22. package/dist/cascade-select/style.css +6 -15
  23. package/dist/checkbox/style.css +6 -15
  24. package/dist/chip/style.css +6 -15
  25. package/dist/color-picker/index.js +676 -0
  26. package/dist/{input-color → color-picker}/style.css +1406 -83
  27. package/dist/color-picker/style.js +8 -0
  28. package/dist/command-menu/index.js +73 -66
  29. package/dist/command-menu/style.css +6 -15
  30. package/dist/components/ColorPicker/ColorPicker.vue.d.ts +41 -0
  31. package/dist/components/ColorPicker/ColorPicker.vue.d.ts.map +1 -0
  32. package/dist/components/ColorPicker/colorUtils.d.ts +23 -0
  33. package/dist/components/ColorPicker/colorUtils.d.ts.map +1 -0
  34. package/dist/components/ColorPicker/gradientUtils.d.ts +9 -0
  35. package/dist/components/ColorPicker/gradientUtils.d.ts.map +1 -0
  36. package/dist/components/ColorPicker/index.d.ts +3 -0
  37. package/dist/components/ColorPicker/index.d.ts.map +1 -0
  38. package/dist/components/ColorPicker/styles.css +405 -0
  39. package/dist/components/ColorPicker/types.d.ts +60 -0
  40. package/dist/components/ColorPicker/types.d.ts.map +1 -0
  41. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  42. package/dist/components/ContextMenu/ContextMenuNodes.vue.d.ts.map +1 -1
  43. package/dist/components/ContextMenu/styles.css +1 -1
  44. package/dist/components/Dock/Dock.vue.d.ts.map +1 -1
  45. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  46. package/dist/components/Dropdown/styles.css +1 -1
  47. package/dist/components/Input/Input.vue.d.ts +0 -1
  48. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  49. package/dist/components/Input/types.d.ts +0 -2
  50. package/dist/components/Input/types.d.ts.map +1 -1
  51. package/dist/components/InputNumber/styles.css +28 -10
  52. package/dist/components/InputPassword/InputPassword.vue.d.ts +0 -1
  53. package/dist/components/InputPassword/InputPassword.vue.d.ts.map +1 -1
  54. package/dist/components/InputPassword/types.d.ts +0 -2
  55. package/dist/components/InputPassword/types.d.ts.map +1 -1
  56. package/dist/components/MegaMenu/MegaMenu.vue.d.ts.map +1 -1
  57. package/dist/components/Mentions/Mentions.vue.d.ts +0 -1
  58. package/dist/components/Mentions/Mentions.vue.d.ts.map +1 -1
  59. package/dist/components/Mentions/types.d.ts +0 -2
  60. package/dist/components/Mentions/types.d.ts.map +1 -1
  61. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  62. package/dist/components/Menu/MenuNodes.vue.d.ts.map +1 -1
  63. package/dist/components/Menu/styles.css +45 -3
  64. package/dist/components/Menu/types.d.ts +3 -1
  65. package/dist/components/Menu/types.d.ts.map +1 -1
  66. package/dist/components/Menubar/Menubar.vue.d.ts +2 -2
  67. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  68. package/dist/components/Menubar/styles.css +1 -1
  69. package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
  70. package/dist/components/Rating/Rating.vue.d.ts +1 -1
  71. package/dist/components/Rating/types.d.ts +2 -2
  72. package/dist/components/Rating/types.d.ts.map +1 -1
  73. package/dist/components/Select/Select.vue.d.ts +1 -1
  74. package/dist/components/Select/types.d.ts +1 -1
  75. package/dist/components/Select/types.d.ts.map +1 -1
  76. package/dist/components/Sidebar/Sidebar.vue.d.ts.map +1 -1
  77. package/dist/components/SpeedDial/SpeedDial.vue.d.ts +3 -3
  78. package/dist/components/SpeedDial/SpeedDial.vue.d.ts.map +1 -1
  79. package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
  80. package/dist/components/Textarea/Textarea.vue.d.ts +0 -1
  81. package/dist/components/Textarea/Textarea.vue.d.ts.map +1 -1
  82. package/dist/components/Textarea/types.d.ts +0 -2
  83. package/dist/components/Textarea/types.d.ts.map +1 -1
  84. package/dist/components/TieredMenu/styles.css +2 -2
  85. package/dist/components/Tooltip/styles.css +15 -2
  86. package/dist/config-provider/style.css +6 -15
  87. package/dist/confirm-dialog/style.css +6 -15
  88. package/dist/confirm-popup/style.css +6 -15
  89. package/dist/context-menu/index.js +92 -84
  90. package/dist/context-menu/style.css +7 -16
  91. package/dist/data-view/index.js +1 -1
  92. package/dist/data-view/style.css +6 -15
  93. package/dist/date-picker/style.css +6 -15
  94. package/dist/descriptions/style.css +6 -15
  95. package/dist/dialog/style.css +6 -15
  96. package/dist/divider/style.css +6 -15
  97. package/dist/dock/index.js +21 -18
  98. package/dist/dock/style.css +6 -15
  99. package/dist/drawer/style.css +6 -15
  100. package/dist/dropdown/index.js +103 -95
  101. package/dist/dropdown/style.css +7 -16
  102. package/dist/empty/style.css +6 -15
  103. package/dist/fieldset/style.css +6 -15
  104. package/dist/file-upload/style.css +6 -15
  105. package/dist/flex/style.css +6 -15
  106. package/dist/float-label/style.css +6 -15
  107. package/dist/fluid/style.css +6 -15
  108. package/dist/form/style.css +6 -15
  109. package/dist/gallery/style.css +6 -15
  110. package/dist/grid/style.css +6 -15
  111. package/dist/icon/style.css +6 -15
  112. package/dist/{icon-H8prbteT.js → icon-CUrSaD8r.js} +4 -1
  113. package/dist/icon-field/style.css +6 -15
  114. package/dist/image/style.css +6 -15
  115. package/dist/index.d.ts +2 -2
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +4047 -3420
  118. package/dist/inplace/style.css +6 -15
  119. package/dist/input/index.js +1 -1
  120. package/dist/input/style.css +6 -15
  121. package/dist/input-group/style.css +6 -15
  122. package/dist/input-number/index.js +2 -245
  123. package/dist/input-number/style.css +34 -25
  124. package/dist/input-otp/style.css +6 -15
  125. package/dist/input-password/index.js +1 -5
  126. package/dist/input-password/style.css +6 -15
  127. package/dist/input-tags/style.css +6 -15
  128. package/dist/knob/style.css +6 -15
  129. package/dist/label/style.css +6 -15
  130. package/dist/layout/style.css +6 -15
  131. package/dist/list/index.js +1 -1
  132. package/dist/list/style.css +6 -15
  133. package/dist/listbox/style.css +6 -15
  134. package/dist/loading/style.css +6 -15
  135. package/dist/mega-menu/index.js +94 -87
  136. package/dist/mega-menu/style.css +6 -15
  137. package/dist/mentions/index.js +35 -39
  138. package/dist/mentions/style.css +6 -15
  139. package/dist/menu/index.js +235 -213
  140. package/dist/menu/style.css +66 -20
  141. package/dist/menubar/index.js +107 -99
  142. package/dist/menubar/style.css +7 -16
  143. package/dist/message/style.css +6 -15
  144. package/dist/meter-group/style.css +6 -15
  145. package/dist/order-list/style.css +6 -15
  146. package/dist/page/style.css +6 -15
  147. package/dist/pagination/index.js +1 -1
  148. package/dist/pagination/style.css +6 -15
  149. package/dist/panel/style.css +6 -15
  150. package/dist/pick-list/style.css +6 -15
  151. package/dist/popover/index.js +1 -1
  152. package/dist/popover/style.css +6 -15
  153. package/dist/progress-bar/style.css +6 -15
  154. package/dist/progress-spinner/style.css +6 -15
  155. package/dist/qr-code/style.css +6 -15
  156. package/dist/radio/style.css +6 -15
  157. package/dist/rating/index.js +2 -2
  158. package/dist/rating/style.css +6 -15
  159. package/dist/resolver.js +1 -1
  160. package/dist/result/style.css +6 -15
  161. package/dist/scroll-top/style.css +6 -15
  162. package/dist/scrollbar/style.css +6 -15
  163. package/dist/segmented/style.css +6 -15
  164. package/dist/select/index.js +1 -1
  165. package/dist/select/style.css +6 -15
  166. package/dist/select-button/style.css +6 -15
  167. package/dist/shared/menu/icon.d.ts +3 -0
  168. package/dist/shared/menu/icon.d.ts.map +1 -1
  169. package/dist/shared/menu/index.d.ts +2 -2
  170. package/dist/shared/menu/index.d.ts.map +1 -1
  171. package/dist/shared/menu/types.d.ts +3 -1
  172. package/dist/shared/menu/types.d.ts.map +1 -1
  173. package/dist/sidebar/index.js +37 -29
  174. package/dist/sidebar/style.css +6 -15
  175. package/dist/skeleton/style.css +6 -15
  176. package/dist/slider/style.css +6 -15
  177. package/dist/space/style.css +6 -15
  178. package/dist/speed-dial/index.js +101 -94
  179. package/dist/speed-dial/style.css +6 -15
  180. package/dist/split-button/index.js +3 -3
  181. package/dist/split-button/style.css +6 -15
  182. package/dist/splitter/style.css +6 -15
  183. package/dist/statistic/style.css +6 -15
  184. package/dist/status/style.css +6 -15
  185. package/dist/stepper/style.css +6 -15
  186. package/dist/styles/base.css +6 -15
  187. package/dist/styles.css +1 -1
  188. package/dist/switch/style.css +6 -15
  189. package/dist/table/index.js +3 -3
  190. package/dist/table/style.css +6 -15
  191. package/dist/tabs/style.css +6 -15
  192. package/dist/tag/style.css +6 -15
  193. package/dist/terminal/style.css +6 -15
  194. package/dist/textarea/index.js +1 -1
  195. package/dist/textarea/style.css +6 -15
  196. package/dist/tiered-menu/style.css +8 -17
  197. package/dist/time-picker/style.css +6 -15
  198. package/dist/timeline/style.css +6 -15
  199. package/dist/toast/style.css +6 -15
  200. package/dist/toggle-button/index.js +1 -1
  201. package/dist/toggle-button/style.css +6 -15
  202. package/dist/toolbar/style.css +6 -15
  203. package/dist/tooltip/style.css +21 -17
  204. package/dist/tour/style.css +6 -15
  205. package/dist/tree/style.css +6 -15
  206. package/dist/tree-select/style.css +6 -15
  207. package/dist/typography/index.js +1 -1
  208. package/dist/typography/style.css +6 -15
  209. package/dist/virtual-scroller/style.css +6 -15
  210. package/dist/watermark/style.css +6 -15
  211. package/package.json +8 -8
  212. package/dist/components/InputColor/InputColor.vue.d.ts +0 -24
  213. package/dist/components/InputColor/InputColor.vue.d.ts.map +0 -1
  214. package/dist/components/InputColor/index.d.ts +0 -3
  215. package/dist/components/InputColor/index.d.ts.map +0 -1
  216. package/dist/components/InputColor/styles.css +0 -139
  217. package/dist/components/InputColor/types.d.ts +0 -19
  218. package/dist/components/InputColor/types.d.ts.map +0 -1
  219. package/dist/input-color/index.js +0 -118
  220. package/dist/input-color/style.js +0 -3
@@ -405,7 +405,7 @@
405
405
 
406
406
  :root {
407
407
  /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
408
- --m-menu-min-width: 12rem;
408
+ --m-overlay-menu-min-width: 12rem;
409
409
  }
410
410
 
411
411
  .m-button,
@@ -463,7 +463,7 @@
463
463
  .m-progress-spinner,
464
464
  .m-cascadeselect,
465
465
  .m-treeselect,
466
- .m-inputcolor,
466
+ .m-colorpicker,
467
467
  .m-inputtags,
468
468
  .m-label,
469
469
  .m-speeddial,
@@ -489,8 +489,7 @@
489
489
  .m-password__input:disabled,
490
490
  .m-inputnumber__input:disabled,
491
491
  .m-inputotp__input:disabled,
492
- .m-inputcolor__text:disabled,
493
- .m-inputcolor__swatch:disabled,
492
+ .m-colorpicker__trigger:disabled,
494
493
  .m-inputtags--disabled {
495
494
  background-color: var(--m-color-bg-disabled);
496
495
  color: var(--m-color-text-disabled);
@@ -513,8 +512,7 @@
513
512
  .m-textarea::placeholder,
514
513
  .m-password__input::placeholder,
515
514
  .m-inputnumber__input::placeholder,
516
- .m-inputtags__input::placeholder,
517
- .m-inputcolor__text::placeholder {
515
+ .m-inputtags__input::placeholder {
518
516
  color: var(--m-color-text-muted);
519
517
  opacity: 1;
520
518
  }
@@ -858,9 +856,7 @@
858
856
  font-family: var(--m-font-sans);
859
857
  gap: var(--m-space-2);
860
858
  max-width: 100%;
861
- min-width: var(--m-menu-min-width);
862
859
  position: relative;
863
- width: fit-content;
864
860
  }
865
861
 
866
862
  .m-textarea-field--fluid,
@@ -1051,7 +1047,7 @@
1051
1047
  flex: 1;
1052
1048
  max-height: 16rem;
1053
1049
  min-height: 12rem;
1054
- min-width: var(--m-menu-min-width);
1050
+ min-width: var(--m-overlay-menu-min-width);
1055
1051
  }
1056
1052
 
1057
1053
  .m-orderlist__list,
@@ -1119,7 +1115,6 @@
1119
1115
  .m-cascadeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1120
1116
  .m-treeselect:not(.m-treeselect--open)
1121
1117
  .m-treeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1122
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
1123
1118
  .m-inputtags:hover:not(.m-inputtags--disabled):not(:focus-within),
1124
1119
  .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked):not(:focus-visible),
1125
1120
  .m-inplace__display:hover:not(:focus-visible) {
@@ -1134,8 +1129,6 @@
1134
1129
  .m-treeselect--open .m-treeselect__trigger,
1135
1130
  .m-treeselect__trigger:focus,
1136
1131
  .m-treeselect__trigger:focus-visible,
1137
- .m-inputcolor__text:focus,
1138
- .m-inputcolor__text:focus-visible,
1139
1132
  .m-inputtags:focus-within,
1140
1133
  .m-togglebutton:focus-visible,
1141
1134
  .m-selectbutton__button:focus-visible,
@@ -1150,9 +1143,7 @@
1150
1143
 
1151
1144
  .m-inputotp--invalid .m-inputotp__input:focus,
1152
1145
  .m-inputotp--invalid .m-inputotp__input:focus-visible,
1153
- .m-inputtags--invalid:focus-within,
1154
- .m-inputcolor--invalid .m-inputcolor__text:focus,
1155
- .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
1146
+ .m-inputtags--invalid:focus-within {
1156
1147
  border-color: var(--m-color-danger);
1157
1148
  box-shadow: var(--m-focus-shadow-danger);
1158
1149
  }
@@ -1497,11 +1488,21 @@
1497
1488
  padding: var(--m-space-2) var(--m-space-3);
1498
1489
  pointer-events: none;
1499
1490
  position: absolute;
1500
- transform: translateX(-50%);
1501
1491
  white-space: nowrap;
1502
1492
  z-index: var(--m-z-popper);
1503
1493
  }
1504
1494
 
1495
+ /*
1496
+ * Static centering transforms only apply to in-place (non-teleported) tips.
1497
+ * Teleported tips get viewport coords plus the inline `translate` property
1498
+ * from JS, and a static transform here would stack with it (double offset).
1499
+ * Keeping the transforms off `.m-tooltip__content--teleported` also lets
1500
+ * transition presets that animate `transform` (e.g. scale-fade) win.
1501
+ */
1502
+ .m-tooltip__content:not(.m-tooltip__content--teleported) {
1503
+ transform: translateX(-50%);
1504
+ }
1505
+
1505
1506
  .m-tooltip__content--top {
1506
1507
  bottom: calc(100% + var(--m-space-2));
1507
1508
  }
@@ -1514,12 +1515,15 @@
1514
1515
  left: auto;
1515
1516
  right: calc(100% + var(--m-space-2));
1516
1517
  top: 50%;
1517
- transform: translateY(-50%);
1518
1518
  }
1519
1519
 
1520
1520
  .m-tooltip__content--right {
1521
1521
  left: calc(100% + var(--m-space-2));
1522
1522
  top: 50%;
1523
+ }
1524
+
1525
+ .m-tooltip__content--left:not(.m-tooltip__content--teleported),
1526
+ .m-tooltip__content--right:not(.m-tooltip__content--teleported) {
1523
1527
  transform: translateY(-50%);
1524
1528
  }
1525
1529
 
@@ -1602,7 +1606,8 @@
1602
1606
 
1603
1607
  .m-menu--popup {
1604
1608
  --m-menu-popup-max-height: min(18rem, 45vh);
1605
- box-shadow: var(--m-shadow-md);
1609
+ border-color: color-mix(in srgb, var(--m-color-border) 85%, transparent);
1610
+ box-shadow: var(--m-shadow-lg);
1606
1611
  display: flex;
1607
1612
  flex-direction: column;
1608
1613
  max-height: var(--m-menu-popup-max-height);
@@ -1616,6 +1621,13 @@
1616
1621
  z-index: var(--m-z-popper);
1617
1622
  }
1618
1623
 
1624
+ /* Open-state affordance on the slotted trigger (button stays "pressed"). */
1625
+ .m-menu-popup--open .m-menu-popup__anchor > .m-button,
1626
+ .m-menu-popup[data-open='true'] .m-menu-popup__anchor > .m-button {
1627
+ border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
1628
+ color: var(--m-color-primary);
1629
+ }
1630
+
1619
1631
  .m-menu--popup .m-menu__scroll {
1620
1632
  max-height: 100%;
1621
1633
  min-height: 0;
@@ -1687,7 +1699,7 @@
1687
1699
  .m-menu--horizontal .m-menu__item-content {
1688
1700
  align-items: center;
1689
1701
  border-bottom: none;
1690
- border-radius: var(--m-radius-control);
1702
+ border-radius: var(--m-radius-control) var(--m-radius-control) 0 0;
1691
1703
  font-weight: 500;
1692
1704
  height: var(--m-menu-horizontal-height);
1693
1705
  padding-inline: var(--m-space-3);
@@ -1695,11 +1707,36 @@
1695
1707
  }
1696
1708
 
1697
1709
  .m-menu--horizontal .m-menu__item-content::before {
1698
- border-radius: var(--m-radius-control);
1710
+ border-radius: var(--m-radius-control) var(--m-radius-control) 0 0;
1699
1711
  display: block;
1700
1712
  inset: 0;
1701
1713
  }
1702
1714
 
1715
+ /* Bottom indicator: the signature affordance of a horizontal nav */
1716
+ .m-menu--horizontal .m-menu__item-content::after {
1717
+ background: var(--m-menu-item-text-active);
1718
+ border-radius: 999px;
1719
+ bottom: 0;
1720
+ content: "";
1721
+ height: 2px;
1722
+ left: 50%;
1723
+ pointer-events: none;
1724
+ position: absolute;
1725
+ transform: translateX(-50%) scaleX(0.3);
1726
+ opacity: 0;
1727
+ transition:
1728
+ opacity var(--m-motion-fast) var(--m-motion-ease),
1729
+ transform var(--m-motion-fast) var(--m-motion-ease);
1730
+ width: calc(100% - 2 * var(--m-space-3));
1731
+ z-index: 2;
1732
+ }
1733
+
1734
+ .m-menu--horizontal .m-menu__item-content--selected::after,
1735
+ .m-menu--horizontal .m-menu__item-content--child-active::after {
1736
+ opacity: 1;
1737
+ transform: translateX(-50%) scaleX(1);
1738
+ }
1739
+
1703
1740
  .m-menu--horizontal .m-menu__item-content--selected::before,
1704
1741
  .m-menu--horizontal .m-menu__item-content--child-active::before {
1705
1742
  background: var(--m-menu-item-color-active) !important;
@@ -1717,6 +1754,15 @@
1717
1754
  color: var(--m-menu-item-text-active);
1718
1755
  }
1719
1756
 
1757
+ .m-menu--horizontal .m-menu__item-content--selected .m-menu__label {
1758
+ font-weight: 600;
1759
+ }
1760
+
1761
+ [data-m-motion="reduced"] .m-menu--horizontal .m-menu__item-content::after,
1762
+ [data-m-motion="none"] .m-menu--horizontal .m-menu__item-content::after {
1763
+ transition: none;
1764
+ }
1765
+
1720
1766
  .m-menu--horizontal .m-menu__arrow {
1721
1767
  margin-inline-start: var(--m-space-1);
1722
1768
  }
@@ -6,42 +6,42 @@ import { t as ne } from "../useMotionTransition-DohkfWRB.js";
6
6
  import { t as r } from "../Icon-CmHjx7W8.js";
7
7
  import { t as re } from "../Scrollbar-DTeJ8P5b.js";
8
8
  import { t as i } from "../useMenuKeyboard-BedmYE4W.js";
9
- import { t as ie } from "../icon-H8prbteT.js";
10
- import { l as ae } from "../config-Cd20zAyW.js";
11
- import { n as oe } from "../locale-BcxMPufl.js";
9
+ import { n as ie, t as ae } from "../icon-CUrSaD8r.js";
10
+ import { l as oe } from "../config-Cd20zAyW.js";
11
+ import { n as se } from "../locale-BcxMPufl.js";
12
12
  import "./style.js";
13
- import { Fragment as a, Teleport as se, Transition as ce, computed as o, createBlock as le, createCommentVNode as s, createElementBlock as c, createElementVNode as ue, createTextVNode as l, createVNode as u, defineComponent as d, mergeProps as de, nextTick as f, normalizeClass as p, normalizeStyle as fe, onBeforeUnmount as m, onMounted as pe, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useAttrs as me, watch as x, withCtx as S, withModifiers as C } from "vue";
13
+ import { Fragment as a, Teleport as ce, Transition as le, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as ue, createTextVNode as u, createVNode as d, defineComponent as f, mergeProps as de, nextTick as p, normalizeClass as m, normalizeStyle as fe, onBeforeUnmount as pe, onMounted as me, openBlock as h, ref as g, renderList as _, renderSlot as v, resolveDynamicComponent as y, toDisplayString as b, unref as x, useAttrs as he, watch as S, withCtx as C, withModifiers as w } from "vue";
14
14
  //#region src/components/Menubar/Menubar.vue?vue&type=script&setup=true&lang.ts
15
- var he = ["aria-label"], ge = {
15
+ var ge = ["aria-label"], _e = {
16
16
  key: 0,
17
17
  class: "m-menubar__start"
18
- }, _e = [
18
+ }, ve = [
19
19
  "disabled",
20
20
  "tabindex",
21
21
  "aria-expanded",
22
22
  "aria-haspopup",
23
23
  "onClick",
24
24
  "onFocus"
25
- ], ve = {
25
+ ], ye = {
26
26
  key: 0,
27
27
  class: "m-menubar__icon",
28
28
  "aria-hidden": "true"
29
- }, ye = {
29
+ }, be = {
30
30
  key: 1,
31
31
  class: "m-menubar__caret",
32
32
  "aria-hidden": "true"
33
- }, w = [
33
+ }, xe = [
34
34
  "disabled",
35
35
  "tabindex",
36
36
  "onClick"
37
- ], be = {
37
+ ], T = {
38
38
  key: 0,
39
39
  class: "m-menubar__icon",
40
40
  "aria-hidden": "true"
41
- }, xe = {
41
+ }, Se = {
42
42
  key: 1,
43
43
  class: "m-menubar__end"
44
- }, T = /* @__PURE__ */ d({
44
+ }, E = /* @__PURE__ */ f({
45
45
  inheritAttrs: !1,
46
46
  __name: "Menubar",
47
47
  props: {
@@ -59,97 +59,103 @@ var he = ["aria-label"], ge = {
59
59
  }
60
60
  },
61
61
  emits: ["update:selectedKey", "select"],
62
- setup(d, { emit: T }) {
63
- let E = d, D = T, Se = me(), { rootAttrs: O } = e(Se, () => E.pt), k = ae(), { transitionName: A, transitionCss: j } = ne({
62
+ setup(f, { emit: E }) {
63
+ let D = f, O = E, Ce = he(), { rootAttrs: we } = e(Ce, () => D.pt), k = oe(), { transitionName: Te, transitionCss: Ee } = ne({
64
64
  role: "popup",
65
- local: () => E.transition,
65
+ local: () => D.transition,
66
66
  componentName: "Menubar",
67
67
  fallback: "scale-fade"
68
- }), Ce = oe(), M = g(null), N = g(null), P = g([]), F = g({}), I = o(() => t(E, k.value.appendTo)), L = o(() => n(E, k.value.appendTo));
69
- function we(e, t) {
70
- P.value[t] = e instanceof HTMLElement ? e : null;
68
+ }), De = se(), A = g(null), j = g(null), M = g([]), N = g({}), P = o(() => t(D, k.value.appendTo)), F = o(() => n(D, k.value.appendTo));
69
+ function Oe(e, t) {
70
+ M.value[t] = e instanceof HTMLElement ? e : null;
71
71
  }
72
- function R() {
73
- if (!L.value || M.value == null) return;
74
- let e = P.value[M.value];
72
+ function I() {
73
+ if (!F.value || A.value == null) return;
74
+ let e = M.value[A.value];
75
75
  if (!e) return;
76
76
  let t = e.getBoundingClientRect();
77
- F.value = ee(t, "bottom-start", {
77
+ N.value = ee(t, "bottom-start", {
78
78
  gap: 4,
79
- minWidth: "var(--m-menu-min-width, 12rem)"
79
+ minWidth: "var(--m-overlay-menu-min-width, 12rem)"
80
80
  });
81
81
  }
82
- function z(e) {
82
+ function L(e) {
83
83
  return e.key ?? e.label;
84
84
  }
85
+ function R(e) {
86
+ return !!(D.selectedKey && L(e) === D.selectedKey);
87
+ }
88
+ function z(e) {
89
+ return typeof e.icon == "string" ? ae(e.icon) : void 0;
90
+ }
85
91
  function B(e) {
86
- return !!(E.selectedKey && z(e) === E.selectedKey);
92
+ return ie(e.icon);
87
93
  }
88
94
  function V(e) {
89
- return ie(e.icon);
95
+ return !!(z(e) || B(e));
90
96
  }
91
97
  function H(e) {
92
- e.disabled || (e.command?.(), D("update:selectedKey", z(e)), D("select", e));
98
+ e.disabled || (e.command?.(), O("update:selectedKey", L(e)), O("select", e));
93
99
  }
94
100
  function U(e, t) {
95
101
  if (!t.disabled) {
96
102
  if (G.setActive(e), !t.items?.length) {
97
- H(t), M.value = null;
103
+ H(t), A.value = null;
98
104
  return;
99
105
  }
100
- M.value = M.value === e ? null : e, M.value != null && f(() => R());
106
+ A.value = A.value === e ? null : e, A.value != null && p(() => I());
101
107
  }
102
108
  }
103
- let W = o(() => M.value == null ? [] : E.model[M.value]?.items ?? []), G = i({
104
- itemCount: () => E.model.length,
105
- isItemDisabled: (e) => !!E.model[e]?.disabled,
109
+ let W = o(() => A.value == null ? [] : D.model[A.value]?.items ?? []), G = i({
110
+ itemCount: () => D.model.length,
111
+ isItemDisabled: (e) => !!D.model[e]?.disabled,
106
112
  orientation: "horizontal",
107
113
  initialActiveIndex: 0,
108
114
  onActivate: (e) => {
109
- let t = E.model[e];
115
+ let t = D.model[e];
110
116
  t && U(e, t);
111
117
  }
112
118
  }), K = i({
113
119
  itemCount: () => W.value.length,
114
120
  isItemDisabled: (e) => !!W.value[e]?.disabled,
115
- enabled: () => M.value != null,
121
+ enabled: () => A.value != null,
116
122
  onActivate: (e) => {
117
123
  let t = W.value[e];
118
124
  t && Q(t);
119
125
  }
120
126
  });
121
127
  function q(e) {
122
- P.value[e]?.focus({ preventScroll: !0 });
128
+ M.value[e]?.focus({ preventScroll: !0 });
123
129
  }
124
- function Te() {
125
- return N.value?.querySelector(".m-menubar__submenu") || document.querySelector(".m-menubar__submenu--teleported");
130
+ function ke() {
131
+ return j.value?.querySelector(".m-menubar__submenu") || document.querySelector(".m-menubar__submenu--teleported");
126
132
  }
127
133
  function J() {
128
134
  let e = K.activeIndex.value;
129
- e < 0 || Te()?.querySelectorAll(".m-menubar__subitem")[e]?.focus({ preventScroll: !0 });
135
+ e < 0 || ke()?.querySelectorAll(".m-menubar__subitem")[e]?.focus({ preventScroll: !0 });
130
136
  }
131
137
  function Y(e = !1) {
132
- let t = M.value;
133
- M.value = null, K.reset(), e && t != null && q(t);
138
+ let t = A.value;
139
+ A.value = null, K.reset(), e && t != null && q(t);
134
140
  }
135
141
  function X(e, t = !1) {
136
- M.value = e, G.setActive(e), f(() => {
137
- R(), t && (K.moveFirst(), J());
142
+ A.value = e, G.setActive(e), p(() => {
143
+ I(), t && (K.moveFirst(), J());
138
144
  });
139
145
  }
140
146
  function Z(e) {
141
147
  G.move(e);
142
- let t = G.activeIndex.value, n = E.model[t];
143
- M.value != null && (n?.items?.length ? X(t, !0) : Y()), q(t);
148
+ let t = G.activeIndex.value, n = D.model[t];
149
+ A.value != null && (n?.items?.length ? X(t, !0) : Y()), q(t);
144
150
  }
145
- function Ee(e) {
151
+ function Ae(e) {
146
152
  if (e.key === "Escape") {
147
- M.value != null && (e.preventDefault(), Y(!0));
153
+ A.value != null && (e.preventDefault(), Y(!0));
148
154
  return;
149
155
  }
150
156
  if (e.key === "ArrowDown" || e.key === "ArrowUp") {
151
157
  e.preventDefault();
152
- let t = G.activeIndex.value, n = E.model[t];
158
+ let t = G.activeIndex.value, n = D.model[t];
153
159
  n?.items?.length && !n.disabled && X(t, !0);
154
160
  return;
155
161
  }
@@ -159,7 +165,7 @@ var he = ["aria-label"], ge = {
159
165
  }
160
166
  G.onKeydown(e);
161
167
  }
162
- function De(e) {
168
+ function je(e) {
163
169
  if (e.stopPropagation(), e.key === "Escape") {
164
170
  e.preventDefault(), Y(!0);
165
171
  return;
@@ -173,93 +179,95 @@ var he = ["aria-label"], ge = {
173
179
  function Q(e) {
174
180
  H(e), Y(!0);
175
181
  }
176
- x(G.activeIndex, (e) => {
177
- e >= 0 && M.value == null && q(e);
178
- }), x(K.activeIndex, () => {
179
- M.value != null && J();
182
+ S(G.activeIndex, (e) => {
183
+ e >= 0 && A.value == null && q(e);
184
+ }), S(K.activeIndex, () => {
185
+ A.value != null && J();
180
186
  });
181
187
  function $(e) {
182
188
  let t = e.target;
183
- N.value?.contains(t) || document.querySelector(".m-menubar__submenu--teleported")?.contains(t) || Y();
189
+ j.value?.contains(t) || document.querySelector(".m-menubar__submenu--teleported")?.contains(t) || Y();
184
190
  }
185
- function Oe() {
186
- M.value != null && R();
191
+ function Me() {
192
+ A.value != null && I();
187
193
  }
188
- return te(() => M.value != null && L.value, Oe), pe(() => document.addEventListener("click", $)), m(() => {
194
+ return te(() => A.value != null && F.value, Me), me(() => document.addEventListener("click", $)), pe(() => {
189
195
  document.removeEventListener("click", $);
190
- }), (e, t) => (h(), c("nav", de(b(O), {
196
+ }), (e, t) => (h(), l("nav", de(x(we), {
191
197
  ref_key: "root",
192
- ref: N,
198
+ ref: j,
193
199
  class: "m-menubar",
194
- "aria-label": b(Ce).menubar,
195
- onKeydown: Ee
200
+ "aria-label": x(De).menubar,
201
+ onKeydown: Ae
196
202
  }), [
197
- e.$slots.start ? (h(), c("div", ge, [v(e.$slots, "start")])) : s("", !0),
198
- (h(!0), c(a, null, _(d.model, (e, t) => (h(), c("div", {
203
+ e.$slots.start ? (h(), l("div", _e, [v(e.$slots, "start")])) : c("", !0),
204
+ (h(!0), l(a, null, _(f.model, (e, t) => (h(), l("div", {
199
205
  key: `${e.label}-${t}`,
200
- class: p(["m-menubar__item", {
201
- "m-menubar__item--open": M.value === t,
202
- "m-menubar__item--selected": B(e)
206
+ class: m(["m-menubar__item", {
207
+ "m-menubar__item--open": A.value === t,
208
+ "m-menubar__item--selected": R(e)
203
209
  }])
204
210
  }, [ue("button", {
205
211
  ref_for: !0,
206
- ref: (e) => we(e, t),
212
+ ref: (e) => Oe(e, t),
207
213
  type: "button",
208
- class: p(["m-menubar__trigger", { "m-menubar__trigger--selected": B(e) }]),
214
+ class: m(["m-menubar__trigger", { "m-menubar__trigger--selected": R(e) }]),
209
215
  disabled: e.disabled,
210
- tabindex: b(G).tabindexFor(t),
211
- "aria-expanded": e.items?.length ? M.value === t : void 0,
216
+ tabindex: x(G).tabindexFor(t),
217
+ "aria-expanded": e.items?.length ? A.value === t : void 0,
212
218
  "aria-haspopup": e.items?.length ? "menu" : void 0,
213
- onClick: C((n) => U(t, e), ["stop"]),
214
- onFocus: (e) => b(G).setActive(t)
219
+ onClick: w((n) => U(t, e), ["stop"]),
220
+ onFocus: (e) => x(G).setActive(t)
215
221
  }, [
216
- V(e) ? (h(), c("span", ve, [u(r, {
217
- name: V(e),
222
+ V(e) ? (h(), l("span", ye, [z(e) ? (h(), s(r, {
223
+ key: 0,
224
+ name: z(e),
218
225
  size: "sm"
219
- }, null, 8, ["name"])])) : s("", !0),
220
- l(" " + y(e.label) + " ", 1),
221
- e.items?.length ? (h(), c("span", ye, [u(r, {
226
+ }, null, 8, ["name"])) : B(e) ? (h(), s(y(B(e)), { key: 1 })) : c("", !0)])) : c("", !0),
227
+ u(" " + b(e.label) + " ", 1),
228
+ e.items?.length ? (h(), l("span", be, [d(r, {
222
229
  name: "chevron-down",
223
230
  size: "sm"
224
- })])) : s("", !0)
225
- ], 42, _e), (h(), le(se, {
226
- to: I.value.to,
227
- disabled: I.value.disabled
228
- }, [u(ce, {
229
- name: b(A),
230
- css: b(j)
231
+ })])) : c("", !0)
232
+ ], 42, ve), (h(), s(ce, {
233
+ to: P.value.to,
234
+ disabled: P.value.disabled
235
+ }, [d(le, {
236
+ name: x(Te),
237
+ css: x(Ee)
231
238
  }, {
232
- default: S(() => [e.items?.length && M.value === t ? (h(), c("div", {
239
+ default: C(() => [e.items?.length && A.value === t ? (h(), l("div", {
233
240
  key: 0,
234
- class: p(["m-menubar__submenu", { "m-menubar__submenu--teleported": L.value }]),
235
- style: fe(L.value ? F.value : void 0),
241
+ class: m(["m-menubar__submenu", { "m-menubar__submenu--teleported": F.value }]),
242
+ style: fe(F.value ? N.value : void 0),
236
243
  role: "menu",
237
- onKeydown: De
238
- }, [u(re, {
244
+ onKeydown: je
245
+ }, [d(re, {
239
246
  class: "m-menubar__submenu-scroll",
240
247
  "fit-content": "",
241
248
  "wrap-class": "m-menubar__submenu-wrap",
242
249
  "view-class": "m-menubar__submenu-view"
243
250
  }, {
244
- default: S(() => [(h(!0), c(a, null, _(e.items, (e, t) => (h(), c("button", {
251
+ default: C(() => [(h(!0), l(a, null, _(e.items, (e, t) => (h(), l("button", {
245
252
  key: `${e.label}-${t}`,
246
253
  type: "button",
247
- class: p(["m-menubar__subitem", { "m-menubar__subitem--selected": B(e) }]),
254
+ class: m(["m-menubar__subitem", { "m-menubar__subitem--selected": R(e) }]),
248
255
  role: "menuitem",
249
256
  disabled: e.disabled,
250
- tabindex: b(K).tabindexFor(t),
251
- onClick: C((t) => Q(e), ["stop"])
252
- }, [V(e) ? (h(), c("span", be, [u(r, {
253
- name: V(e),
257
+ tabindex: x(K).tabindexFor(t),
258
+ onClick: w((t) => Q(e), ["stop"])
259
+ }, [V(e) ? (h(), l("span", T, [z(e) ? (h(), s(r, {
260
+ key: 0,
261
+ name: z(e),
254
262
  size: "sm"
255
- }, null, 8, ["name"])])) : s("", !0), l(" " + y(e.label), 1)], 10, w))), 128))]),
263
+ }, null, 8, ["name"])) : B(e) ? (h(), s(y(B(e)), { key: 1 })) : c("", !0)])) : c("", !0), u(" " + b(e.label), 1)], 10, xe))), 128))]),
256
264
  _: 2
257
- }, 1024)], 38)) : s("", !0)]),
265
+ }, 1024)], 38)) : c("", !0)]),
258
266
  _: 2
259
267
  }, 1032, ["name", "css"])], 8, ["to", "disabled"]))], 2))), 128)),
260
- e.$slots.end ? (h(), c("div", xe, [v(e.$slots, "end")])) : s("", !0)
261
- ], 16, he));
268
+ e.$slots.end ? (h(), l("div", Se, [v(e.$slots, "end")])) : c("", !0)
269
+ ], 16, ge));
262
270
  }
263
271
  });
264
272
  //#endregion
265
- export { T as MMenubar };
273
+ export { E as MMenubar };
@@ -405,7 +405,7 @@
405
405
 
406
406
  :root {
407
407
  /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
408
- --m-menu-min-width: 12rem;
408
+ --m-overlay-menu-min-width: 12rem;
409
409
  }
410
410
 
411
411
  .m-button,
@@ -463,7 +463,7 @@
463
463
  .m-progress-spinner,
464
464
  .m-cascadeselect,
465
465
  .m-treeselect,
466
- .m-inputcolor,
466
+ .m-colorpicker,
467
467
  .m-inputtags,
468
468
  .m-label,
469
469
  .m-speeddial,
@@ -489,8 +489,7 @@
489
489
  .m-password__input:disabled,
490
490
  .m-inputnumber__input:disabled,
491
491
  .m-inputotp__input:disabled,
492
- .m-inputcolor__text:disabled,
493
- .m-inputcolor__swatch:disabled,
492
+ .m-colorpicker__trigger:disabled,
494
493
  .m-inputtags--disabled {
495
494
  background-color: var(--m-color-bg-disabled);
496
495
  color: var(--m-color-text-disabled);
@@ -513,8 +512,7 @@
513
512
  .m-textarea::placeholder,
514
513
  .m-password__input::placeholder,
515
514
  .m-inputnumber__input::placeholder,
516
- .m-inputtags__input::placeholder,
517
- .m-inputcolor__text::placeholder {
515
+ .m-inputtags__input::placeholder {
518
516
  color: var(--m-color-text-muted);
519
517
  opacity: 1;
520
518
  }
@@ -858,9 +856,7 @@
858
856
  font-family: var(--m-font-sans);
859
857
  gap: var(--m-space-2);
860
858
  max-width: 100%;
861
- min-width: var(--m-menu-min-width);
862
859
  position: relative;
863
- width: fit-content;
864
860
  }
865
861
 
866
862
  .m-textarea-field--fluid,
@@ -1051,7 +1047,7 @@
1051
1047
  flex: 1;
1052
1048
  max-height: 16rem;
1053
1049
  min-height: 12rem;
1054
- min-width: var(--m-menu-min-width);
1050
+ min-width: var(--m-overlay-menu-min-width);
1055
1051
  }
1056
1052
 
1057
1053
  .m-orderlist__list,
@@ -1119,7 +1115,6 @@
1119
1115
  .m-cascadeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1120
1116
  .m-treeselect:not(.m-treeselect--open)
1121
1117
  .m-treeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1122
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
1123
1118
  .m-inputtags:hover:not(.m-inputtags--disabled):not(:focus-within),
1124
1119
  .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked):not(:focus-visible),
1125
1120
  .m-inplace__display:hover:not(:focus-visible) {
@@ -1134,8 +1129,6 @@
1134
1129
  .m-treeselect--open .m-treeselect__trigger,
1135
1130
  .m-treeselect__trigger:focus,
1136
1131
  .m-treeselect__trigger:focus-visible,
1137
- .m-inputcolor__text:focus,
1138
- .m-inputcolor__text:focus-visible,
1139
1132
  .m-inputtags:focus-within,
1140
1133
  .m-togglebutton:focus-visible,
1141
1134
  .m-selectbutton__button:focus-visible,
@@ -1150,9 +1143,7 @@
1150
1143
 
1151
1144
  .m-inputotp--invalid .m-inputotp__input:focus,
1152
1145
  .m-inputotp--invalid .m-inputotp__input:focus-visible,
1153
- .m-inputtags--invalid:focus-within,
1154
- .m-inputcolor--invalid .m-inputcolor__text:focus,
1155
- .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
1146
+ .m-inputtags--invalid:focus-within {
1156
1147
  border-color: var(--m-color-danger);
1157
1148
  box-shadow: var(--m-focus-shadow-danger);
1158
1149
  }
@@ -1389,7 +1380,7 @@
1389
1380
 
1390
1381
  /* —— Navigation: Menubar —— */
1391
1382
  .m-menubar {
1392
- --m-menubar-menu-min-width: var(--m-menu-min-width, 10rem);
1383
+ --m-menubar-menu-min-width: var(--m-overlay-menu-min-width, 10rem);
1393
1384
  --m-menubar-item-gap: var(--m-space-1);
1394
1385
  align-items: stretch;
1395
1386
  background: var(--m-color-surface);