@cds/core 6.2.1 → 6.2.3
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/custom-elements.json
CHANGED
|
@@ -49000,15 +49000,6 @@
|
|
|
49000
49000
|
"privacy": "protected",
|
|
49001
49001
|
"default": "false"
|
|
49002
49002
|
},
|
|
49003
|
-
{
|
|
49004
|
-
"kind": "field",
|
|
49005
|
-
"name": "modalFooterTemplate",
|
|
49006
|
-
"type": {
|
|
49007
|
-
"text": "TemplateResult"
|
|
49008
|
-
},
|
|
49009
|
-
"privacy": "private",
|
|
49010
|
-
"readonly": true
|
|
49011
|
-
},
|
|
49012
49003
|
{
|
|
49013
49004
|
"kind": "field",
|
|
49014
49005
|
"name": "observers",
|
package/internal/utils/global.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isBrowser as e}from"./environment.js";import{getAngularVersion as n,getAngularJSVersion as o,getReactVersion as t,getVueVersion as i}from"./framework.js";import{browserFeatures as s}from"./supports.js";import{LogService as r}from"../services/log.service.js";function w(){e()&&(window.CDS=window.CDS||{_version:[],_react:{version:void 0},_supports:s.supports,_isStateProxied:!1,_state:{focusTrapItems:[],layerElements:[],i18nRegistry:{},elementRegistry:{},iconRegistry:{},motionRegistry:{}},environment:{production:!1},getDetails:a,logDetails:d},function(){const e="6.2.
|
|
1
|
+
import{isBrowser as e}from"./environment.js";import{getAngularVersion as n,getAngularJSVersion as o,getReactVersion as t,getVueVersion as i}from"./framework.js";import{browserFeatures as s}from"./supports.js";import{LogService as r}from"../services/log.service.js";function w(){e()&&(window.CDS=window.CDS||{_version:[],_react:{version:void 0},_supports:s.supports,_isStateProxied:!1,_state:{focusTrapItems:[],layerElements:[],i18nRegistry:{},elementRegistry:{},iconRegistry:{},motionRegistry:{}},environment:{production:!1},getDetails:a,logDetails:d},function(){const e="6.2.3";window.CDS._version.indexOf(e)<0&&(window.CDS._version.push(e),document.querySelector("body")?.setAttribute("cds-version",window.CDS._version.join(" "))),window.CDS._version.length>1&&r.warn("Running more than one version of Clarity can cause unexpected issues. Please ensure only one version is loaded.")}(),window.CDS._isStateProxied||(window.CDS._isStateProxied=!0,window.CDS._state=new Proxy(window.CDS._state,{set:(e,n,o)=>{const t={key:n,prev:window.CDS._state[n],current:o};return e[n]=o,document.dispatchEvent(new CustomEvent("CDS_STATE_UPDATE",{detail:t})),!0}})))}function a(){return{versions:window.CDS._version,environment:window.CDS.environment,userAgent:navigator.userAgent,supports:window.CDS._supports,angularVersion:n(!1),angularJSVersion:o(!1),reactVersion:t(!1),vueVersion:i(!1),state:{...window.CDS._state,iconRegistry:Object.keys(window.CDS._state.iconRegistry),motionRegistry:Object.keys(window.CDS._state.motionRegistry),focusTrapRegistry:Object.keys(window.CDS._state.focusTrapItems.map((e=>e.focusTrapId)))}}}function d(){r.log(JSON.stringify(a(),null,2))}export{w as setupCDSGlobal};
|
|
2
2
|
//# sourceMappingURL=global.js.map
|
package/modal/modal.element.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit';
|
|
2
1
|
import { CdsInternalOverlay } from '@cds/core/internal-components/overlay';
|
|
3
2
|
import { CdsModalHeader } from './modal-header.element';
|
|
4
3
|
import { CdsModalActions } from './modal-actions.element';
|
|
@@ -58,9 +57,8 @@ export declare class CdsModal extends CdsInternalOverlay {
|
|
|
58
57
|
modalHeader: CdsModalHeader;
|
|
59
58
|
modalFooter: CdsModalActions;
|
|
60
59
|
protected isScrollable: boolean;
|
|
61
|
-
private get modalFooterTemplate();
|
|
62
60
|
protected observers: (MutationObserver | ResizeObserver)[];
|
|
63
|
-
render(): TemplateResult<1>;
|
|
61
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
64
62
|
connectedCallback(): void;
|
|
65
63
|
disconnectedCallback(): void;
|
|
66
64
|
private setScrollableProperties;
|
package/modal/modal.element.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate as t}from"tslib";import{html as e}from"lit";import{query as o}from"lit/decorators/query.js";import{I18nService as s,getElementUpdates as l,isScrollable as
|
|
1
|
+
import{__decorate as t}from"tslib";import{html as e}from"lit";import{query as o}from"lit/decorators/query.js";import{I18nService as s,getElementUpdates as l,isScrollable as i,i18n as a,property as d,querySlot as r,animate as n,reverseAnimation as c,AnimationModalEnterName as p}from"@cds/core/internal";import{CdsInternalOverlay as m}from"@cds/core/internal-components/overlay";import h from"./modal.element.scss.js";let v=class extends m{constructor(){super(...arguments);this.i18n=s.keys.modal,this.closable=!0,this.isScrollable=!1,this.observers=[]}get customBumpers(){return[this.modalHeader,this.modalFooter]}static get styles(){return[...super.styles,h]}render(){return e`${this.backdropTemplate}<div class="modal-dialog private-host" tabindex="-1" cds-layout="m:md m@md:xl"><div cds-layout="display:screen-reader-only">${this.i18n.contentStart}</div><div class="modal-content" cds-layout="vertical gap:sm gap@md:lg align:stretch p-y:lg"><div cds-layout="horizontal gap:sm wrap:none align:vertical-center p-x:lg"><div><slot name="modal-header"></slot></div><div cds-layout="align:right"><slot name="modal-header-actions"></slot></div>${this.closable?this.closeButtonTemplate:""}</div><div class="modal-body" cds-layout="p-x:lg"><slot></slot></div><div cds-layout="align-stretch p-x:lg" ?hidden="${!this.modalFooter}"><slot name="modal-actions" @slotchange="${()=>this.requestUpdate()}"></slot></div></div><div cds-layout="display:screen-reader-only">${this.i18n.contentEnd}</div></div>`}connectedCallback(){super.connectedCallback(),this.observers.push(l(this,"hidden",(()=>this.setScrollableProperties())))}disconnectedCallback(){super.disconnectedCallback(),this.observers.forEach((t=>t?.disconnect()))}async setScrollableProperties(){const t=this.content;!1===this.hidden&&null!==t&&(await this.updateComplete,this.isScrollable=i(t),t.tabIndex=this.isScrollable?0:-1,t.ariaLabel=this.isScrollable?this.i18n.contentBox:null)}};t([a()],v.prototype,"i18n",void 0),t([d({type:Boolean})],v.prototype,"closable",void 0),t([d({type:String})],v.prototype,"size",void 0),t([o(".modal-body")],v.prototype,"content",void 0),t([r("cds-modal-header")],v.prototype,"modalHeader",void 0),t([r("cds-modal-actions")],v.prototype,"modalFooter",void 0),v=t([n({hidden:{true:c(p),false:p}})],v);export{v as CdsModal};
|
|
2
2
|
//# sourceMappingURL=modal.element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.element.js","sources":["../../../src/modal/modal.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { query } from 'lit/decorators/query.js';\nimport { animate, AnimationModalEnterName, i18n, I18nService, isScrollable, property, reverseAnimation, querySlot, getElementUpdates, } from '@cds/core/internal';\nimport { CdsInternalOverlay } from '@cds/core/internal-components/overlay';\nimport styles from './modal.element.scss';\n/**\n * Web component modal.\n *\n * ```typescript\n * import '@cds/core/modal/register.js';\n * ```\n *\n * ```html\n * <cds-modal>\n * <cds-modal-header>\n * <h3 cds-text=\"title\">My Modal</h3>\n * </cds-modal-header>\n * <cds-modal-content>\n * <p>Lorem Ipsum</p>\n * </cds-modal-content>\n * <cds-modal-actions>\n * <cds-button>Ok</cds-button>\n * </cds-modal-actions>\n * </cds-modal>\n * ```\n *\n * @element cds-modal\n * @slot\n * @slot cds-modal-content\n * @slot cds-modal-header\n * @slot cds-modal-actions\n * @event closeChange - notify when the user has clicked the close button\n * @cssprop --backdrop-background - inherited from the internal overlay component\n * @cssprop --layered-backdrop-background - inherited from the internal overlay component\n * @cssprop --border-color\n * @cssprop --border-width\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --box-shadow\n * @cssprop --width\n * @cssprop --content-overflow - set as { x, y }. take care when customizing because overflow settings can have unintended side effects.\n * @cssprop --max-height - sets hard limit on height of modal\n * @cssprop --tablet-max-height - sets hard limit on height of modal when on a tablet in landscape mode\n */\nlet CdsModal = class CdsModal extends CdsInternalOverlay {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.modal;\n /** If false, the modal will not render the close button. */\n this.closable = true;\n this.isScrollable = false;\n this.observers = [];\n }\n get customBumpers() {\n return [this.modalHeader, this.modalFooter];\n }\n static get styles() {\n return [...super.styles, styles];\n }\n
|
|
1
|
+
{"version":3,"file":"modal.element.js","sources":["../../../src/modal/modal.element.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { __decorate } from \"tslib\";\nimport { html } from 'lit';\nimport { query } from 'lit/decorators/query.js';\nimport { animate, AnimationModalEnterName, i18n, I18nService, isScrollable, property, reverseAnimation, querySlot, getElementUpdates, } from '@cds/core/internal';\nimport { CdsInternalOverlay } from '@cds/core/internal-components/overlay';\nimport styles from './modal.element.scss';\n/**\n * Web component modal.\n *\n * ```typescript\n * import '@cds/core/modal/register.js';\n * ```\n *\n * ```html\n * <cds-modal>\n * <cds-modal-header>\n * <h3 cds-text=\"title\">My Modal</h3>\n * </cds-modal-header>\n * <cds-modal-content>\n * <p>Lorem Ipsum</p>\n * </cds-modal-content>\n * <cds-modal-actions>\n * <cds-button>Ok</cds-button>\n * </cds-modal-actions>\n * </cds-modal>\n * ```\n *\n * @element cds-modal\n * @slot\n * @slot cds-modal-content\n * @slot cds-modal-header\n * @slot cds-modal-actions\n * @event closeChange - notify when the user has clicked the close button\n * @cssprop --backdrop-background - inherited from the internal overlay component\n * @cssprop --layered-backdrop-background - inherited from the internal overlay component\n * @cssprop --border-color\n * @cssprop --border-width\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --box-shadow\n * @cssprop --width\n * @cssprop --content-overflow - set as { x, y }. take care when customizing because overflow settings can have unintended side effects.\n * @cssprop --max-height - sets hard limit on height of modal\n * @cssprop --tablet-max-height - sets hard limit on height of modal when on a tablet in landscape mode\n */\nlet CdsModal = class CdsModal extends CdsInternalOverlay {\n constructor() {\n super(...arguments);\n this.i18n = I18nService.keys.modal;\n /** If false, the modal will not render the close button. */\n this.closable = true;\n this.isScrollable = false;\n this.observers = [];\n }\n get customBumpers() {\n return [this.modalHeader, this.modalFooter];\n }\n static get styles() {\n return [...super.styles, styles];\n }\n // modal-body requires a tab index so it can be scrolled\n render() {\n return html `\n ${this.backdropTemplate}\n <div class=\"modal-dialog private-host\" tabindex=\"-1\" cds-layout=\"m:md m@md:xl\">\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.contentStart}</div>\n <div class=\"modal-content\" cds-layout=\"vertical gap:sm gap@md:lg align:stretch p-y:lg\">\n <div cds-layout=\"horizontal gap:sm wrap:none align:vertical-center p-x:lg\">\n <div>\n <slot name=\"modal-header\"></slot>\n </div>\n <div cds-layout=\"align:right\">\n <slot name=\"modal-header-actions\"></slot>\n </div>\n ${this.closable ? this.closeButtonTemplate : ''}\n </div>\n <div class=\"modal-body\" cds-layout=\"p-x:lg\">\n <slot></slot>\n </div>\n <div cds-layout=\"align-stretch p-x:lg\" ?hidden=${!this.modalFooter}>\n <slot name=\"modal-actions\" @slotchange=${() => this.requestUpdate()}></slot>\n </div>\n </div>\n <div cds-layout=\"display:screen-reader-only\">${this.i18n.contentEnd}</div>\n </div>\n `;\n }\n connectedCallback() {\n super.connectedCallback();\n this.observers.push(getElementUpdates(this, 'hidden', () => this.setScrollableProperties()));\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.observers.forEach(o => o?.disconnect());\n }\n async setScrollableProperties() {\n const contentElement = this.content;\n if (this.hidden === false && contentElement !== null) {\n await this.updateComplete; // wait until after render to measure if scrollable\n this.isScrollable = isScrollable(contentElement);\n contentElement.tabIndex = this.isScrollable ? 0 : -1;\n contentElement.ariaLabel = this.isScrollable ? this.i18n.contentBox : null;\n }\n }\n};\n__decorate([\n i18n()\n], CdsModal.prototype, \"i18n\", void 0);\n__decorate([\n property({ type: Boolean })\n], CdsModal.prototype, \"closable\", void 0);\n__decorate([\n property({ type: String })\n], CdsModal.prototype, \"size\", void 0);\n__decorate([\n query('.modal-body')\n], CdsModal.prototype, \"content\", void 0);\n__decorate([\n querySlot('cds-modal-header')\n], CdsModal.prototype, \"modalHeader\", void 0);\n__decorate([\n querySlot('cds-modal-actions')\n], CdsModal.prototype, \"modalFooter\", void 0);\nCdsModal = __decorate([\n animate({\n hidden: {\n true: reverseAnimation(AnimationModalEnterName),\n false: AnimationModalEnterName,\n },\n })\n], CdsModal);\nexport { CdsModal };\n"],"names":["CdsModal","CdsInternalOverlay","constructor","super","this","i18n","I18nService","keys","modal","closable","isScrollable","observers","customBumpers","modalHeader","modalFooter","styles","render","html","backdropTemplate","contentStart","closeButtonTemplate","requestUpdate","contentEnd","connectedCallback","push","getElementUpdates","setScrollableProperties","disconnectedCallback","forEach","o","disconnect","async","contentElement","content","hidden","updateComplete","tabIndex","ariaLabel","contentBox","__decorate","prototype","property","type","Boolean","String","query","querySlot","animate","true","reverseAnimation","AnimationModalEnterName","false"],"mappings":"iaAkDG,IAACA,EAAW,cAAuBC,EAClCC,cACIC,oBACAC,KAAKC,KAAOC,EAAYC,KAAKC,MAE7BJ,KAAKK,UAAW,EAChBL,KAAKM,cAAe,EACpBN,KAAKO,UAAY,GAEjBC,oBACA,MAAO,CAACR,KAAKS,YAAaT,KAAKU,aAExBC,oBACP,MAAO,IAAIZ,MAAMY,OAAQA,GAG7BC,SACI,OAAOC,CAAK,GACZb,KAAKc,+IAE0Cd,KAAKC,KAAKc,gTASnDf,KAAKK,SAAWL,KAAKgB,oBAAsB,2HAKGhB,KAAKU,wDACZ,IAAMV,KAAKiB,oFAGTjB,KAAKC,KAAKiB,yBAI7DC,oBACIpB,MAAMoB,oBACNnB,KAAKO,UAAUa,KAAKC,EAAkBrB,KAAM,UAAU,IAAMA,KAAKsB,6BAErEC,uBACIxB,MAAMwB,uBACNvB,KAAKO,UAAUiB,SAAQC,GAAKA,GAAGC,eAEnCC,gCACI,MAAMC,EAAiB5B,KAAK6B,SACR,IAAhB7B,KAAK8B,QAAuC,OAAnBF,UACnB5B,KAAK+B,eACX/B,KAAKM,aAAeA,EAAasB,GACjCA,EAAeI,SAAWhC,KAAKM,aAAe,GAAK,EACnDsB,EAAeK,UAAYjC,KAAKM,aAAeN,KAAKC,KAAKiC,WAAa,QAIlFC,EAAW,CACPlC,KACDL,EAASwC,UAAW,YAAQ,GAC/BD,EAAW,CACPE,EAAS,CAAEC,KAAMC,WAClB3C,EAASwC,UAAW,gBAAY,GACnCD,EAAW,CACPE,EAAS,CAAEC,KAAME,UAClB5C,EAASwC,UAAW,YAAQ,GAC/BD,EAAW,CACPM,EAAM,gBACP7C,EAASwC,UAAW,eAAW,GAClCD,EAAW,CACPO,EAAU,qBACX9C,EAASwC,UAAW,mBAAe,GACtCD,EAAW,CACPO,EAAU,sBACX9C,EAASwC,UAAW,mBAAe,GACtCxC,EAAWuC,EAAW,CAClBQ,EAAQ,CACJb,OAAQ,CACJc,KAAMC,EAAiBC,GACvBC,MAAOD,MAGhBlD"}
|
package/package.json
CHANGED
package/styles/shim.clr-ui.css
CHANGED
|
@@ -649,4 +649,10 @@
|
|
|
649
649
|
[cds-theme] .btn-warning,
|
|
650
650
|
[cds-theme] .btn-danger {
|
|
651
651
|
--clr-btn-icon-disabled-color: var(--cds-global-typography-color-100);
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
[cds-theme~=light] {
|
|
655
|
+
--clr-vertical-nav-bg-color: var(--cds-global-color-gray-200);
|
|
656
|
+
--clr-vertical-nav-active-bg-color: var(--cds-global-color-gray-0);
|
|
657
|
+
--clr-vertical-nav-hover-bg-color: var(--cds-global-color-gray-400);
|
|
652
658
|
}
|
|
@@ -120,4 +120,4 @@
|
|
|
120
120
|
--cds-alias-object-interaction-background-highlight
|
|
121
121
|
);--clr-datagrid-detail-caret-icon-open-bg-color:var(
|
|
122
122
|
--cds-alias-object-interaction-background-highlight
|
|
123
|
-
);--clr-datagrid-detail-caret-icon-open-icon-color:var(--cds-global-color-gray-0);--clr-datagrid-placeholder-color:var(--cds-global-color-gray-700)}[cds-theme] .login-wrapper{--clr-login-background-color:var(--clr-global-app-background);--clr-login-title-color:var(--clr-h1-color);--clr-login-error-background-color:var(--clr-alert-danger-bg-color)}[cds-theme] .login-wrapper .login .login-group .error{color:var(--clr-alert-danger-font-color);border:1px solid var(--clr-alert-danger-border-color)}[cds-theme] .btn:not([disabled]):active,[cds-theme] .btn:not([disabled]):focus,[cds-theme] .btn:not([disabled]):hover{filter:brightness(90%)}[cds-theme] .btn.disabled,[cds-theme] .btn:disabled{opacity:1}[cds-theme] .btn-danger,[cds-theme] .btn-primary,[cds-theme] .btn-success,[cds-theme] .btn-warning{--clr-btn-icon-disabled-color:var(--cds-global-typography-color-100)}
|
|
123
|
+
);--clr-datagrid-detail-caret-icon-open-icon-color:var(--cds-global-color-gray-0);--clr-datagrid-placeholder-color:var(--cds-global-color-gray-700)}[cds-theme] .login-wrapper{--clr-login-background-color:var(--clr-global-app-background);--clr-login-title-color:var(--clr-h1-color);--clr-login-error-background-color:var(--clr-alert-danger-bg-color)}[cds-theme] .login-wrapper .login .login-group .error{color:var(--clr-alert-danger-font-color);border:1px solid var(--clr-alert-danger-border-color)}[cds-theme] .btn:not([disabled]):active,[cds-theme] .btn:not([disabled]):focus,[cds-theme] .btn:not([disabled]):hover{filter:brightness(90%)}[cds-theme] .btn.disabled,[cds-theme] .btn:disabled{opacity:1}[cds-theme] .btn-danger,[cds-theme] .btn-primary,[cds-theme] .btn-success,[cds-theme] .btn-warning{--clr-btn-icon-disabled-color:var(--cds-global-typography-color-100)}[cds-theme~=light]{--clr-vertical-nav-bg-color:var(--cds-global-color-gray-200);--clr-vertical-nav-active-bg-color:var(--cds-global-color-gray-0);--clr-vertical-nav-hover-bg-color:var(--cds-global-color-gray-400)}
|