@vuu-ui/vuu-popups 0.8.22-debug → 0.8.23-debug
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.
- package/cjs/index.js +81 -33
- package/cjs/index.js.map +4 -4
- package/esm/index.js +81 -33
- package/esm/index.js.map +4 -4
- package/index.css +6 -6
- package/index.css.map +2 -2
- package/package.json +5 -5
- package/types/menu/MenuList.d.ts +2 -1
- package/types/menu/use-keyboard-navigation.d.ts +3 -1
- package/types/popup/Popup.d.ts +1 -1
- package/types/popup/getPositionRelativeToAnchor.d.ts +19 -0
- package/types/popup/popup-service.d.ts +11 -3
- package/types/popup/useAnchoredPosition.d.ts +1 -8
- package/types/popup-menu/PopupMenu.d.ts +9 -3
package/index.css
CHANGED
|
@@ -59,15 +59,17 @@
|
|
|
59
59
|
|
|
60
60
|
/* src/portal/Portal.css */
|
|
61
61
|
.vuuPortal {
|
|
62
|
+
position: absolute;
|
|
63
|
+
z-index: 100;
|
|
64
|
+
}
|
|
65
|
+
.vuuPortal:not(.vuuPopup) {
|
|
62
66
|
background-color: var(--salt-container-primary-background);
|
|
63
67
|
border-radius: 4px;
|
|
64
68
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
|
65
|
-
position: absolute;
|
|
66
69
|
border-color: var(--vuuMenuList-borderColor, var(--salt-container-primary-borderColor));
|
|
67
70
|
border-style: solid;
|
|
68
71
|
border-width: 1px;
|
|
69
72
|
padding: 4px 0;
|
|
70
|
-
z-index: 100;
|
|
71
73
|
}
|
|
72
74
|
.vuuPortal:has(.vuuDropdown-popup-component.vuuList-empty) {
|
|
73
75
|
display: none;
|
|
@@ -207,22 +209,20 @@
|
|
|
207
209
|
--vuu-icon-color: var(--vuuPopupMenu-iconColor,#606477);
|
|
208
210
|
--vuu-icon-height: 20px;
|
|
209
211
|
--vuu-icon-left: 2px;
|
|
210
|
-
--vuu-icon-size: 16px;
|
|
212
|
+
--vuu-icon-size: var(--vuuPopupMenu-iconSize, 16px);
|
|
211
213
|
--vuu-icon-top: 2px;
|
|
212
214
|
--vuu-icon-width: 20px;
|
|
213
215
|
background: var(--vuuPopupMenu-background, transparent);
|
|
214
|
-
border: var(--vuuPopupMenu-border, none);
|
|
215
216
|
border-radius: var(--vuuPopupMenu-borderRadius, 4px);
|
|
216
217
|
cursor: pointer;
|
|
217
218
|
display: inline-block;
|
|
218
|
-
margin-top: 2px;
|
|
219
219
|
padding: 2px;
|
|
220
220
|
}
|
|
221
221
|
.vuuPopupMenu:hover {
|
|
222
222
|
--vuu-icon-color: var(--saltButton-text-color-hover);
|
|
223
223
|
}
|
|
224
224
|
.vuuPopupMenu-open {
|
|
225
|
-
--
|
|
225
|
+
--vuuPopupMenu-background: var(--salt-actionable-secondary-background-active);
|
|
226
226
|
--vuu-icon-color: white;
|
|
227
227
|
}
|
|
228
228
|
.vuu-theme .vuuPopupMenu:hover {
|
package/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/vuu-popups/src/dialog-header/DialogHeader.css", "../../../packages/vuu-popups/src/dialog/Dialog.css", "../../../packages/vuu-popups/src/popup/popup-service.css", "../../../packages/vuu-popups/src/portal/Portal.css", "../../../packages/vuu-popups/src/menu/MenuList.css", "../../../packages/vuu-popups/src/popup-menu/PopupMenu.css", "../../../packages/vuu-popups/src/prompt/Prompt.css", "../../../packages/vuu-popups/src/tooltip/Tooltip.css", "../../../packages/vuu-popups/src/notifications/notifications.css"],
|
|
4
|
-
"sourcesContent": [".vuuDialogHeader {\n --saltButton-height: 28px;\n --saltButton-width: 28px;\n --saltToolbar-background: transparent;\n --saltToolbar-height: calc(var(--salt-size-base) + 5px);\n --vuuToolbarProxy-height: 22px;\n --salt-text-fontFamily: Nunito Sans A-Variant, sans-serif;\n\n display: flex;\n align-items: flex-start;\n color: var(--light-text-primary, #15171B);\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 16px;\n font-weight: 600;\n}\n \n.vuuDialogHeader > .Responsive-inner {\n align-items: center;\n}\n \n.vuuDialogHeader > .Responsive-inner > :last-child{\n right: 2px;\n}\n \n ", ".vuuDialog {\n background: var(--salt-container-primary-background);\n border: var(--vuuDialog-border, solid 1px #ccc);\n border-radius: 5px;\n padding: var(--vuuDialog-padding, 16px);\n position: relative;\n box-shadow: var(--salt-overlayable-shadow, none);\n height: var(--vuuDialog-height, fit-content);\n overflow: visible;\n width: var(--vuuDialog-width, fit-content);\n}\n\n.vuuDialog-body {\n padding-top: 16px;\n}\n\n", ".vuuPopup {\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: visible;\n z-index: 1000;\n}\n\n.vuuPopup {\n position: absolute;\n}\n", ".vuuPortal {\n background-color: var(--salt-container-primary-background);\n border-radius:4px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n border-color: var(--vuuMenuList-borderColor, var(--salt-container-primary-borderColor));\n border-style: solid;\n border-width: 1px;\n padding: 4px 0;\n z-index: 100;\n}\n\n\n.vuuPortal:has(.vuuDropdown-popup-component.vuuList-empty){\n display: none;\n}\n\n#vuu-portal-root {\n z-index: 1000;\n}", ".vuuMenuList {\n --salt-focused-outlineStyle: dashed !important;\n --salt-focused-outlineWidth: 1px !important;\n --vuuListItem-padding: 8px;\n --context-menu-color: var(--vuuMenuList-color,#161616);\n --context-menu-padding: var(--hw-list-item-padding, 0 6px);\n --context-menu-shadow: var(--hw-dialog-shadow, 0 6px 12px rgba(0, 0, 0, 0.175));\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n --context-menu-highlight-bg: var(--salt-selectable-background-hover);\n --context-menu-blur-focus-bg: #e0e4e9;\n --menu-item-icon-color: black;\n --menu-item-twisty-color: black;\n --menu-item-twisty-content: '';\n --menu-item-twisty-top: 50%;\n --menu-item-twisty-left: auto;\n --menu-item-twisty-right: 0px;\n --menu-icon-size: 12px;\n\n background-clip: padding-box;\n background-color: white;\n font-size: var(--vuuMenuList-fontSize, var(--salt-text-label-fontSize));\n font-weight: var(--salt-typography-fontWeight-medium);\n list-style: none;\n outline: 0;\n overflow: hidden;\n padding: var(--vuuMenuList-padding, 0);\n position: absolute;\n}\n\n/* hacky fix until problem is identified (css source code order in prod build )*/\n.vuuPortal > .vuuMenuList {\n position: relative;\n}\n\n.vuuMenuItem {\n align-items: center;\n border-width: 1px;\n border-color: var(--vuuMenuItem-borderColor, transparent);\n border-style: var(--vuuMenuItem-borderStyle, none);\n color: var(--context-menu-color);\n display: flex;\n gap: 6px;\n height: var(--vuuMenuItem-height, var(--hw-list-item-height, 24px));\n padding: var(--context-menu-padding);\n padding-right: 24px;\n position: relative;\n white-space: nowrap;\n}\n\n.vuuIconContainer {\n display: inline-block;\n flex: 12px 0 0;\n height: var(--menu-icon-size);\n mask-repeat: no-repeat;\n width: var(--menu-icon-size);\n}\n\n.vuuMenuItem[aria-expanded='true'] {\n background-color: var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem-separator {\n border-top: solid 1px var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem[aria-haspopup='true']:after {\n content: var(--menu-item-twisty-content);\n mask: var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;\n -webkit-mask: var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;\n background-color: var(--menu-item-twisty-color);\n height: 16px;\n left: var(--menu-item-twisty-left);\n right: var(--menu-item-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--menu-item-twisty-top);\n transition: transform 0.3s;\n width: 16px;\n}\n\n.vuuMenuItem[data-highlighted] {\n background-color: var(--context-menu-highlight-bg);\n}\n\n.vuuMenuItem:hover {\n background-color: var(--context-menu-highlight-bg);\n cursor: default;\n}\n\n.vuuMenuList-childMenuShowing .vuuMenuItem[data-highlighted] {\n background-color: var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem.focusVisible:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n}\n\n.vuuPopupContainer.top-bottom-right-right .popup-menu {\n left: auto;\n right: 0;\n}\n\n.popup-menu .menu-item.showing > button,\n.popup-menu .menu-item > button:focus,\n.popup-menu .menu-item > button:hover {\n text-decoration: none;\n color: rgb(0, 0, 0);\n background-color: rgb(220, 220, 220);\n}\n.vuuMenuItem-button:active,\n.vuuMenuItem-button:hover {\n outline: 0;\n}\n\n.popup-menu .menu-item.disabled > button {\n clear: both;\n font-weight: normal;\n line-height: 1.5;\n color: rgb(120, 120, 120);\n white-space: nowrap;\n text-decoration: none;\n cursor: default;\n}\n\n/* hacky fix, to be revisited */\n.vuuMenuList.salt-theme {\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n border-color: var(--salt-container-primary-borderColor);\n border-style: solid !important;\n border-width: 1px;\n\n}", ".vuuPopupMenu {\n --saltButton-height: 24px;\n --saltButton-width: 24px;\n --vuu-icon-color: var(--vuuPopupMenu-iconColor,#606477);\n --vuu-icon-height: 20px;\n --vuu-icon-left: 2px;\n --vuu-icon-size: 16px;\n --vuu-icon-top: 2px;\n --vuu-icon-width: 20px;\n\n background: var(--vuuPopupMenu-background, transparent);\n border: var(--vuuPopupMenu-border, none);\n border-radius: var(--vuuPopupMenu-borderRadius, 4px);\n cursor: pointer;\n display: inline-block;\n margin-top: 2px;\n padding: 2px;\n}\n\n.vuuPopupMenu:hover {\n /* --vuu-icon-color: #15171B; */\n --vuu-icon-color: var(--saltButton-text-color-hover);\n}\n\n.vuuPopupMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --vuu-icon-color: white;\n}\n\n/* temp references to theme until new theme fully incorporated */\n.vuu-theme .vuuPopupMenu:hover {\n --saltButton-background-hover: #F37880;\n}\n\n.vuu-theme .vuuPopupMenu-open {\n --saltButton-background: #6D18BD;\n}\n\n.vuuPopupMenu-withCaption {\n --vuu-icon-left: calc(100% - 24px); \n --vuu-icon-size: 20px;\n --saltButton-width: auto;\n padding: 0 28px 0 8px;\n}", ".vuuPrompt {\n --saltButton-padding: var(--prompt-padding);\n --saltButton-width: auto;\n --border-width: var(--vuuPrompt-borderWidth, 1px);\n --border-color: var(--vuuPrompt-borderColor, var(--vuu-color-purple-10));\n --prompt-padding: 16px;\n --variant-color: inherit;\n --vuu-icon-color: var(--vuu-color-gray-80);\n --vuu-icon-left: 6px;\n --vuu-icon-size: 24px;\n\n background-color: var(--salt-container-primary-background);\n border-color: var(--border-color);\n border-radius:4px;\n border-style: solid;\n border-width: var(--border-width);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n margin: 0;\n padding: 0;\n position: absolute;\n}\n\n.vuuPrompt-warn {\n --border-color: var(--vuu-color-yellow-20);\n --variant-color: var(--vuu-color-yellow-20);\n}\n\n.vuuPrompt-form {\n display: flex;\n flex-direction: column;\n}\n\n.vuuPrompt-header {\n align-items: center;\n background-color: var(--variant-color);\n display: flex;\n flex: 0 0 32px; \n font-size: 16px;\n font-weight: 700;\n padding: 0 var(--prompt-padding); \n}\n\n.vuuPrompt-header[data-icon]{\n padding-left: 36px;\n}\n\n\n.vuuPrompt-text {\n flex: 1 1 auto;\n padding: var(--prompt-padding);\n\n}\n.vuuPrompt-buttonBar {\n align-items: flex-end;\n display: flex;\n flex: 0 0 32px;\n gap: 6px;\n justify-content: flex-end;\n padding: 0 var(--prompt-padding) var(--prompt-padding) var(--prompt-padding); \n\n}", ".vuuTooltip {\n --tooltip-align: flex-start;\n --tooltip-background: white;\n --tooltip-border: var(--vuu-color-gray-30);\n --tooltip-color: var(--vuu-color-gray-80);\n --tooltip-justify: flex-start;\n --tooltip-top: auto;\n --tooltip-right: auto;\n --tooltip-bottom: auto;\n --tooltip-left: auto;\n align-items: var(--tooltip-align);\n justify-content: var(--tooltip-justify);\n display: flex;\n position: absolute;\n z-index: 100;\n }\n \n .vuuTooltip[data-align='right'] {\n --tooltip-align: center;\n --tooltip-left: 9px;\n }\n \n .vuuTooltip[data-align='left'] {\n --tooltip-align: center;\n --tooltip-left: auto;\n --tooltip-right: 10px;\n }\n \n .vuuTooltip[data-align='above'] {\n --tooltip-justify: center;\n --tooltip-bottom: 9px;\n --tooltip-left: auto;\n }\n .vuuTooltip[data-align='below'] {\n --tooltip-justify: center;\n --tooltip-top: 9px;\n --tooltip-left: auto;\n }\n \n .vuuTooltip-content {\n background-color: var(--tooltip-background);\n border-color: var(--tooltip-border);\n border-width: 1px;\n border-style: solid;\n border-radius: 6px;\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);\n color: var(--tooltip-color);\n line-height: 24px;\n padding: 2px 8px;\n position: absolute;\n white-space: nowrap;\n top: var(--tooltip-top);\n right: var(--tooltip-right);\n bottom: var(--tooltip-bottom);\n left: var(--tooltip-left);\n }\n \n .vuuTooltip::before {\n background-color: var(--tooltip-border);\n content: ' ';\n display: block;\n position: absolute;\n width: 12px;\n height: 12px;\n}\n\n.vuuTooltip[data-align='above']::before {\n transform: translate(0, -18px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='below']::before {\n transform: translate(0, 6px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='right']::before {\n transform: translate(7px, 0px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='left']::before {\n transform: translate(-19px, 0) rotate(45deg);\n}\n\n.vuuTooltip-error {\n --tooltip-background: var(--vuu-color-red-50);\n --tooltip-color: white;\n color: white;\n}", ".vuuToastNotifications-toast {\n --vuu-icon-size: 24px;\n position: absolute;\n display: flex;\n padding: 8px 32px 8px 8px;\n align-items: center;\n gap: 8px;\n border-radius: 6px;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.40);\n z-index: 100000;\n}\n\n.vuuToastNotifications-toastContent{\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.vuuToastNotifications-toastHeader{\n font-size: 16px;\n font-weight: 700;\n}\n\n.error {\n background: var(--status-error-background-emphasize, #E23434);\n}\n\n.success {\n background: var(--status-success-background-emphasize, #248913);\n}\n\n.info {\n background: var(--status-info-background-emphasize, #017CB1);\n}\n\n.warning {\n background: var(--status-warning-background-emphasize, #F4CA33);\n}\n\n.error,\n.success,\n.info {\n color: white;\n}\n\n.vuuToastNotifications-toastIcon {\n height: var(--vuu-icon-height, var(--vuu-icon-size, 24px));\n width: var(--vuu-icon-width, var(--vuu-icon-size, 24px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n}\n\n.success-icon{\n --vuu-icon-svg: var(--vuu-svg-tick);\n}\n\n.warning-icon{\n --vuu-icon-svg: var(--vuu-svg-warn-triangle);\n background-color: #000000;\n}\n\n.info-icon {\n --vuu-icon-svg: var(--vuu-svg-info-circle);\n}\n.error-icon{\n --vuu-icon-svg: var(--vuu-svg-alert-circle);\n}\n\n.success-icon, .info-icon, .error-icon{\n background-color: #ffffff;\n}\n"],
|
|
5
|
-
"mappings": ";AAAA,CAAC;AACG,uBAAqB;AACrB,sBAAoB;AACpB,4BAA0B;AAC1B,wBAAsB,KAAK,IAAI,kBAAkB,EAAE;AACnD,4BAA0B;AAC1B,0BAAwB,OAAO,KAAK,SAAS,EAAE;AAE/C,WAAS;AACT,eAAa;AACb,SAAO,IAAI,oBAAoB,EAAE;AACjC;AAAA,IAAuB,OAAO,EAAE;AAAA,IAAE,OAAO,EAAE;AAAA,IAAE,OAAO,EAAE;AAAA,IAAE,OAAO;AAC/D,aAAW;AACX,eAAa;AACjB;AAEA,CAhBC,gBAgBgB,EAAE,CAAC;AAChB,eAAa;AACjB;AAEA,CApBC,gBAoBgB,EAAE,CAJC,iBAIiB,EAAE;AACnC,SAAO;AACX;;;ACtBA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,kBAAkB,EAAE,MAAM,IAAI;AAC1C,iBAAe;AACf,WAAS,IAAI,mBAAmB,EAAE;AAClC,YAAU;AACV,cAAY,IAAI,yBAAyB,EAAE;AAC3C,UAAQ,IAAI,kBAAkB,EAAE;AAChC,YAAU;AACV,SAAO,IAAI,iBAAiB,EAAE;AAChC;AAEA,CAAC;AACC,eAAa;AACf;;;ACdA,CAAC;AACC,cAAY,EAAE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,YAAU;AACV,OAAK;AACL,QAAM;AACN,SAAO;AACP,UAAQ;AACR,YAAU;AACV,WAAS;AACX;AAEA,CAXC;AAYC,YAAU;AACZ;;;;;
|
|
4
|
+
"sourcesContent": [".vuuDialogHeader {\n --saltButton-height: 28px;\n --saltButton-width: 28px;\n --saltToolbar-background: transparent;\n --saltToolbar-height: calc(var(--salt-size-base) + 5px);\n --vuuToolbarProxy-height: 22px;\n --salt-text-fontFamily: Nunito Sans A-Variant, sans-serif;\n\n display: flex;\n align-items: flex-start;\n color: var(--light-text-primary, #15171B);\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 16px;\n font-weight: 600;\n}\n \n.vuuDialogHeader > .Responsive-inner {\n align-items: center;\n}\n \n.vuuDialogHeader > .Responsive-inner > :last-child{\n right: 2px;\n}\n \n ", ".vuuDialog {\n background: var(--salt-container-primary-background);\n border: var(--vuuDialog-border, solid 1px #ccc);\n border-radius: 5px;\n padding: var(--vuuDialog-padding, 16px);\n position: relative;\n box-shadow: var(--salt-overlayable-shadow, none);\n height: var(--vuuDialog-height, fit-content);\n overflow: visible;\n width: var(--vuuDialog-width, fit-content);\n}\n\n.vuuDialog-body {\n padding-top: 16px;\n}\n\n", ".vuuPopup {\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: visible;\n z-index: 1000;\n}\n\n.vuuPopup {\n position: absolute;\n}\n", "/*\nThere is work to do to sort out styling across Portal/Popup/Draggable\n*/\n.vuuPortal {\n position: absolute;\n z-index: 100;\n}\n\n.vuuPortal:not(.vuuPopup) {\n background-color: var(--salt-container-primary-background);\n border-radius:4px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n border-color: var(--vuuMenuList-borderColor, var(--salt-container-primary-borderColor));\n border-style: solid;\n border-width: 1px;\n padding: 4px 0;\n}\n\n.vuuPortal:has(.vuuDropdown-popup-component.vuuList-empty){\n display: none;\n}\n\n#vuu-portal-root {\n z-index: 1000;\n}", ".vuuMenuList {\n --salt-focused-outlineStyle: dashed !important;\n --salt-focused-outlineWidth: 1px !important;\n --vuuListItem-padding: 8px;\n --context-menu-color: var(--vuuMenuList-color,#161616);\n --context-menu-padding: var(--hw-list-item-padding, 0 6px);\n --context-menu-shadow: var(--hw-dialog-shadow, 0 6px 12px rgba(0, 0, 0, 0.175));\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n --context-menu-highlight-bg: var(--salt-selectable-background-hover);\n --context-menu-blur-focus-bg: #e0e4e9;\n --menu-item-icon-color: black;\n --menu-item-twisty-color: black;\n --menu-item-twisty-content: '';\n --menu-item-twisty-top: 50%;\n --menu-item-twisty-left: auto;\n --menu-item-twisty-right: 0px;\n --menu-icon-size: 12px;\n\n background-clip: padding-box;\n background-color: white;\n font-size: var(--vuuMenuList-fontSize, var(--salt-text-label-fontSize));\n font-weight: var(--salt-typography-fontWeight-medium);\n list-style: none;\n outline: 0;\n overflow: hidden;\n padding: var(--vuuMenuList-padding, 0);\n position: absolute;\n}\n\n/* hacky fix until problem is identified (css source code order in prod build )*/\n.vuuPortal > .vuuMenuList {\n position: relative;\n}\n\n.vuuMenuItem {\n align-items: center;\n border-width: 1px;\n border-color: var(--vuuMenuItem-borderColor, transparent);\n border-style: var(--vuuMenuItem-borderStyle, none);\n color: var(--context-menu-color);\n display: flex;\n gap: 6px;\n height: var(--vuuMenuItem-height, var(--hw-list-item-height, 24px));\n padding: var(--context-menu-padding);\n padding-right: 24px;\n position: relative;\n white-space: nowrap;\n}\n\n.vuuIconContainer {\n display: inline-block;\n flex: 12px 0 0;\n height: var(--menu-icon-size);\n mask-repeat: no-repeat;\n width: var(--menu-icon-size);\n}\n\n.vuuMenuItem[aria-expanded='true'] {\n background-color: var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem-separator {\n border-top: solid 1px var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem[aria-haspopup='true']:after {\n content: var(--menu-item-twisty-content);\n mask: var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;\n -webkit-mask: var(--vuu-svg-chevron-right) center center/8px 8px no-repeat;\n background-color: var(--menu-item-twisty-color);\n height: 16px;\n left: var(--menu-item-twisty-left);\n right: var(--menu-item-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--menu-item-twisty-top);\n transition: transform 0.3s;\n width: 16px;\n}\n\n.vuuMenuItem[data-highlighted] {\n background-color: var(--context-menu-highlight-bg);\n}\n\n.vuuMenuItem:hover {\n background-color: var(--context-menu-highlight-bg);\n cursor: default;\n}\n\n.vuuMenuList-childMenuShowing .vuuMenuItem[data-highlighted] {\n background-color: var(--context-menu-blur-focus-bg);\n}\n\n.vuuMenuItem.focusVisible:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n}\n\n.vuuPopupContainer.top-bottom-right-right .popup-menu {\n left: auto;\n right: 0;\n}\n\n.popup-menu .menu-item.showing > button,\n.popup-menu .menu-item > button:focus,\n.popup-menu .menu-item > button:hover {\n text-decoration: none;\n color: rgb(0, 0, 0);\n background-color: rgb(220, 220, 220);\n}\n.vuuMenuItem-button:active,\n.vuuMenuItem-button:hover {\n outline: 0;\n}\n\n.popup-menu .menu-item.disabled > button {\n clear: both;\n font-weight: normal;\n line-height: 1.5;\n color: rgb(120, 120, 120);\n white-space: nowrap;\n text-decoration: none;\n cursor: default;\n}\n\n/* hacky fix, to be revisited */\n.vuuMenuList.salt-theme {\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n position: absolute;\n border-color: var(--salt-container-primary-borderColor);\n border-style: solid !important;\n border-width: 1px;\n\n}", ".vuuPopupMenu {\n --saltButton-height: 24px;\n --saltButton-width: 24px;\n --vuu-icon-color: var(--vuuPopupMenu-iconColor,#606477);\n --vuu-icon-height: 20px;\n --vuu-icon-left: 2px;\n --vuu-icon-size: var(--vuuPopupMenu-iconSize, 16px);\n --vuu-icon-top: 2px;\n --vuu-icon-width: 20px;\n\n background: var(--vuuPopupMenu-background, transparent);\n /* border: var(--vuuPopupMenu-border, none); */\n border-radius: var(--vuuPopupMenu-borderRadius, 4px);\n cursor: pointer;\n display: inline-block;\n /* margin-top: 2px; */\n padding: 2px;\n}\n\n.vuuPopupMenu:hover {\n /* --vuu-icon-color: #15171B; */\n --vuu-icon-color: var(--saltButton-text-color-hover);\n}\n\n.vuuPopupMenu-open {\n --vuuPopupMenu-background: var(--salt-actionable-secondary-background-active);\n --vuu-icon-color: white;\n}\n\n/* temp references to theme until new theme fully incorporated */\n.vuu-theme .vuuPopupMenu:hover {\n --saltButton-background-hover: #F37880;\n}\n\n.vuu-theme .vuuPopupMenu-open {\n --saltButton-background: #6D18BD;\n}\n\n.vuuPopupMenu-withCaption {\n --vuu-icon-left: calc(100% - 24px); \n --vuu-icon-size: 20px;\n --saltButton-width: auto;\n padding: 0 28px 0 8px;\n}", ".vuuPrompt {\n --saltButton-padding: var(--prompt-padding);\n --saltButton-width: auto;\n --border-width: var(--vuuPrompt-borderWidth, 1px);\n --border-color: var(--vuuPrompt-borderColor, var(--vuu-color-purple-10));\n --prompt-padding: 16px;\n --variant-color: inherit;\n --vuu-icon-color: var(--vuu-color-gray-80);\n --vuu-icon-left: 6px;\n --vuu-icon-size: 24px;\n\n background-color: var(--salt-container-primary-background);\n border-color: var(--border-color);\n border-radius:4px;\n border-style: solid;\n border-width: var(--border-width);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n margin: 0;\n padding: 0;\n position: absolute;\n}\n\n.vuuPrompt-warn {\n --border-color: var(--vuu-color-yellow-20);\n --variant-color: var(--vuu-color-yellow-20);\n}\n\n.vuuPrompt-form {\n display: flex;\n flex-direction: column;\n}\n\n.vuuPrompt-header {\n align-items: center;\n background-color: var(--variant-color);\n display: flex;\n flex: 0 0 32px; \n font-size: 16px;\n font-weight: 700;\n padding: 0 var(--prompt-padding); \n}\n\n.vuuPrompt-header[data-icon]{\n padding-left: 36px;\n}\n\n\n.vuuPrompt-text {\n flex: 1 1 auto;\n padding: var(--prompt-padding);\n\n}\n.vuuPrompt-buttonBar {\n align-items: flex-end;\n display: flex;\n flex: 0 0 32px;\n gap: 6px;\n justify-content: flex-end;\n padding: 0 var(--prompt-padding) var(--prompt-padding) var(--prompt-padding); \n\n}", ".vuuTooltip {\n --tooltip-align: flex-start;\n --tooltip-background: white;\n --tooltip-border: var(--vuu-color-gray-30);\n --tooltip-color: var(--vuu-color-gray-80);\n --tooltip-justify: flex-start;\n --tooltip-top: auto;\n --tooltip-right: auto;\n --tooltip-bottom: auto;\n --tooltip-left: auto;\n align-items: var(--tooltip-align);\n justify-content: var(--tooltip-justify);\n display: flex;\n position: absolute;\n z-index: 100;\n }\n \n .vuuTooltip[data-align='right'] {\n --tooltip-align: center;\n --tooltip-left: 9px;\n }\n \n .vuuTooltip[data-align='left'] {\n --tooltip-align: center;\n --tooltip-left: auto;\n --tooltip-right: 10px;\n }\n \n .vuuTooltip[data-align='above'] {\n --tooltip-justify: center;\n --tooltip-bottom: 9px;\n --tooltip-left: auto;\n }\n .vuuTooltip[data-align='below'] {\n --tooltip-justify: center;\n --tooltip-top: 9px;\n --tooltip-left: auto;\n }\n \n .vuuTooltip-content {\n background-color: var(--tooltip-background);\n border-color: var(--tooltip-border);\n border-width: 1px;\n border-style: solid;\n border-radius: 6px;\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);\n color: var(--tooltip-color);\n line-height: 24px;\n padding: 2px 8px;\n position: absolute;\n white-space: nowrap;\n top: var(--tooltip-top);\n right: var(--tooltip-right);\n bottom: var(--tooltip-bottom);\n left: var(--tooltip-left);\n }\n \n .vuuTooltip::before {\n background-color: var(--tooltip-border);\n content: ' ';\n display: block;\n position: absolute;\n width: 12px;\n height: 12px;\n}\n\n.vuuTooltip[data-align='above']::before {\n transform: translate(0, -18px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='below']::before {\n transform: translate(0, 6px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='right']::before {\n transform: translate(7px, 0px) rotate(45deg);\n}\n\n.vuuTooltip[data-align='left']::before {\n transform: translate(-19px, 0) rotate(45deg);\n}\n\n.vuuTooltip-error {\n --tooltip-background: var(--vuu-color-red-50);\n --tooltip-color: white;\n color: white;\n}", ".vuuToastNotifications-toast {\n --vuu-icon-size: 24px;\n position: absolute;\n display: flex;\n padding: 8px 32px 8px 8px;\n align-items: center;\n gap: 8px;\n border-radius: 6px;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.40);\n z-index: 100000;\n}\n\n.vuuToastNotifications-toastContent{\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.vuuToastNotifications-toastHeader{\n font-size: 16px;\n font-weight: 700;\n}\n\n.error {\n background: var(--status-error-background-emphasize, #E23434);\n}\n\n.success {\n background: var(--status-success-background-emphasize, #248913);\n}\n\n.info {\n background: var(--status-info-background-emphasize, #017CB1);\n}\n\n.warning {\n background: var(--status-warning-background-emphasize, #F4CA33);\n}\n\n.error,\n.success,\n.info {\n color: white;\n}\n\n.vuuToastNotifications-toastIcon {\n height: var(--vuu-icon-height, var(--vuu-icon-size, 24px));\n width: var(--vuu-icon-width, var(--vuu-icon-size, 24px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n}\n\n.success-icon{\n --vuu-icon-svg: var(--vuu-svg-tick);\n}\n\n.warning-icon{\n --vuu-icon-svg: var(--vuu-svg-warn-triangle);\n background-color: #000000;\n}\n\n.info-icon {\n --vuu-icon-svg: var(--vuu-svg-info-circle);\n}\n.error-icon{\n --vuu-icon-svg: var(--vuu-svg-alert-circle);\n}\n\n.success-icon, .info-icon, .error-icon{\n background-color: #ffffff;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuu-ui/vuu-popups",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.23-debug",
|
|
4
4
|
"description": "VUU popup components - Context Menu, Dialog etc",
|
|
5
5
|
"author": "heswell",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@salt-ds/core": "1.13.2",
|
|
9
|
-
"@vuu-ui/vuu-data-types": "0.8.
|
|
10
|
-
"@vuu-ui/vuu-layout": "0.8.
|
|
11
|
-
"@vuu-ui/vuu-utils": "0.8.
|
|
12
|
-
"@vuu-ui/vuu-ui-controls": "0.8.
|
|
9
|
+
"@vuu-ui/vuu-data-types": "0.8.23-debug",
|
|
10
|
+
"@vuu-ui/vuu-layout": "0.8.23-debug",
|
|
11
|
+
"@vuu-ui/vuu-utils": "0.8.23-debug",
|
|
12
|
+
"@vuu-ui/vuu-ui-controls": "0.8.23-debug"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"clsx": "^2.0.0",
|
package/types/menu/MenuList.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { FC, HTMLAttributes, ReactElement, ReactNode } from "react";
|
|
2
|
+
import { MenuCloseHandler } from "./use-keyboard-navigation";
|
|
2
3
|
import "./MenuList.css";
|
|
3
4
|
export declare const Separator: () => JSX.Element;
|
|
4
5
|
export interface MenuItemGroupProps {
|
|
@@ -34,7 +35,7 @@ export interface MenuListProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
34
35
|
isRoot?: boolean;
|
|
35
36
|
listItemProps?: Partial<MenuItemProps>;
|
|
36
37
|
onActivate?: (menuId: string) => void;
|
|
37
|
-
onCloseMenu:
|
|
38
|
+
onCloseMenu: MenuCloseHandler;
|
|
38
39
|
openMenu?: MenuOpenHandler;
|
|
39
40
|
onHighlightMenuItem?: (idx: number) => void;
|
|
40
41
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { FocusEvent, KeyboardEvent } from "react";
|
|
2
2
|
import { MenuOpenHandler } from "./MenuList";
|
|
3
|
+
export type MenuCloseReason = "tab-away" | "close-child-menu";
|
|
4
|
+
export type MenuCloseHandler = (evt: KeyboardEvent, reason: MenuCloseReason) => void;
|
|
3
5
|
export interface KeyboardNavigationProps {
|
|
4
6
|
autoHighlightFirstItem?: boolean;
|
|
5
7
|
count: number;
|
|
@@ -7,7 +9,7 @@ export interface KeyboardNavigationProps {
|
|
|
7
9
|
highlightedIndex?: number;
|
|
8
10
|
onActivate: (idx: number) => void;
|
|
9
11
|
onHighlight?: (idx: number) => void;
|
|
10
|
-
onCloseMenu:
|
|
12
|
+
onCloseMenu: MenuCloseHandler;
|
|
11
13
|
onOpenMenu?: MenuOpenHandler;
|
|
12
14
|
}
|
|
13
15
|
export interface KeyboardHookListProps {
|
package/types/popup/Popup.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HTMLAttributes, RefObject } from "react";
|
|
2
|
-
import { Position } from "./useAnchoredPosition";
|
|
3
2
|
import "./Popup.css";
|
|
3
|
+
import { Position } from "./getPositionRelativeToAnchor";
|
|
4
4
|
export type PopupPlacement = "absolute" | "auto" | "below" | "below-center" | "below-right" | "below-full-width" | "center" | "right";
|
|
5
5
|
export interface PopupComponentProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
6
|
anchorElement: RefObject<HTMLElement>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PopupPlacement } from "./Popup";
|
|
2
|
+
export type Visibility = "hidden" | "visible";
|
|
3
|
+
export type Position = {
|
|
4
|
+
left: number;
|
|
5
|
+
minWidth?: number | string;
|
|
6
|
+
top: number;
|
|
7
|
+
visibility?: Visibility;
|
|
8
|
+
width?: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const getPositionRelativeToAnchor: (anchorElement: HTMLElement, placement: PopupPlacement, offsetLeft: number, offsetTop: number, minWidth?: number | string, dimensions?: {
|
|
11
|
+
height: number;
|
|
12
|
+
width: number;
|
|
13
|
+
}) => {
|
|
14
|
+
left: number;
|
|
15
|
+
minWidth?: string | number | undefined;
|
|
16
|
+
top: number;
|
|
17
|
+
visibility?: Visibility | undefined;
|
|
18
|
+
width?: number | undefined;
|
|
19
|
+
};
|
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
1
|
+
import { KeyboardEvent as ReactKeyboardEvent, ReactElement } from "react";
|
|
2
2
|
import { ContextMenuOptions } from "../menu";
|
|
3
3
|
import "./popup-service.css";
|
|
4
4
|
export type PopupCloseCallback = (reason?: PopupCloseReason) => void;
|
|
5
|
+
export type TabAwayClosePopup = {
|
|
6
|
+
closedBy?: string;
|
|
7
|
+
type: "tab-away";
|
|
8
|
+
event: ReactKeyboardEvent;
|
|
9
|
+
};
|
|
5
10
|
export type ClickAwayClosePopup = {
|
|
11
|
+
closedBy?: string;
|
|
6
12
|
type: "click-away";
|
|
7
13
|
mouseEvt: MouseEvent;
|
|
8
14
|
};
|
|
9
15
|
export type EscapeClosePopup = {
|
|
10
|
-
|
|
16
|
+
closedBy?: string;
|
|
11
17
|
event: KeyboardEvent;
|
|
18
|
+
type: "escape";
|
|
12
19
|
};
|
|
13
20
|
export type MenuActionClosePopup = {
|
|
21
|
+
closedBy?: string;
|
|
14
22
|
menuId: string;
|
|
15
23
|
options: ContextMenuOptions;
|
|
16
24
|
type: "menu-action";
|
|
17
25
|
};
|
|
18
|
-
export type PopupCloseReason = ClickAwayClosePopup | EscapeClosePopup | MenuActionClosePopup;
|
|
26
|
+
export type PopupCloseReason = ClickAwayClosePopup | EscapeClosePopup | MenuActionClosePopup | TabAwayClosePopup;
|
|
19
27
|
export declare const reasonIsMenuAction: (reason?: PopupCloseReason) => reason is MenuActionClosePopup;
|
|
20
28
|
export declare const reasonIsClickAway: (reason?: PopupCloseReason) => reason is ClickAwayClosePopup;
|
|
21
29
|
export interface ShowPopupProps {
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
+
import { Position } from "./getPositionRelativeToAnchor";
|
|
1
2
|
import { PopupComponentProps } from "./Popup";
|
|
2
3
|
export type AnchoredPositionHookProps = Pick<PopupComponentProps, "anchorElement" | "minWidth" | "offsetLeft" | "offsetTop" | "placement" | "position">;
|
|
3
|
-
export type Visibility = "hidden" | "visible";
|
|
4
|
-
export type Position = {
|
|
5
|
-
left: number;
|
|
6
|
-
minWidth?: number | string;
|
|
7
|
-
top: number;
|
|
8
|
-
visibility?: Visibility;
|
|
9
|
-
width?: number;
|
|
10
|
-
};
|
|
11
4
|
export declare const useAnchoredPosition: ({ anchorElement, minWidth, offsetLeft, offsetTop, placement, position: positionProp, }: AnchoredPositionHookProps) => {
|
|
12
5
|
position: Position | undefined;
|
|
13
6
|
popupRef: ((el: HTMLDivElement | null) => void) | undefined;
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-data-types";
|
|
2
|
-
import { HTMLAttributes } from "react";
|
|
2
|
+
import { HTMLAttributes, RefObject } from "react";
|
|
3
|
+
import { PopupPlacement } from "../popup/Popup";
|
|
3
4
|
import { PopupCloseReason } from "../popup/popup-service";
|
|
4
5
|
import "./PopupMenu.css";
|
|
6
|
+
export type MenuCloseHandler = (reason?: PopupCloseReason) => void;
|
|
5
7
|
export interface PopupMenuProps extends HTMLAttributes<HTMLButtonElement> {
|
|
8
|
+
anchorElement?: RefObject<HTMLElement>;
|
|
6
9
|
icon?: string;
|
|
7
10
|
label?: string;
|
|
8
11
|
menuActionHandler?: MenuActionHandler;
|
|
9
12
|
menuBuilder?: MenuBuilder;
|
|
13
|
+
menuClassName?: string;
|
|
10
14
|
menuLocation?: string;
|
|
11
15
|
menuOptions?: {
|
|
12
16
|
[key: string]: unknown;
|
|
13
17
|
};
|
|
14
|
-
onMenuClose?:
|
|
18
|
+
onMenuClose?: MenuCloseHandler;
|
|
19
|
+
onMenuOpen?: () => void;
|
|
20
|
+
popupPlacement?: PopupPlacement;
|
|
15
21
|
}
|
|
16
|
-
export declare const PopupMenu: ({ className, label, icon, id: idProp, menuActionHandler, menuBuilder, menuLocation, menuOptions, onMenuClose, tabIndex, ...htmlAttributes }: PopupMenuProps) => JSX.Element;
|
|
22
|
+
export declare const PopupMenu: ({ anchorElement, className, label, icon, id: idProp, menuActionHandler, menuBuilder, menuClassName, menuLocation, menuOptions, onMenuClose, onMenuOpen, popupPlacement, tabIndex, ...htmlAttributes }: PopupMenuProps) => JSX.Element;
|