@nanoporetech-digital/components 2.1.4 → 2.2.0
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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/cjs/index-cb62df44.js +5 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js +284 -0
- package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -0
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +2 -2
- package/dist/collection/components/algolia/algolia-input.js +5 -5
- package/dist/collection/components/algolia/algolia-results.js +1 -1
- package/dist/collection/components/algolia/algolia.js +6 -6
- package/dist/collection/components/checkbox/checkbox-group.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +3 -3
- package/dist/collection/components/datalist/datalist.css +1 -1
- package/dist/collection/components/datalist/datalist.js +1 -1
- package/dist/collection/components/date-input/date-input.js +7 -7
- package/dist/collection/components/date-picker/date-picker.js +5 -5
- package/dist/collection/components/details/details.js +1 -1
- package/dist/collection/components/dialog/dialog.js +1 -1
- package/dist/collection/components/file-upload/file-upload.js +4 -4
- package/dist/collection/components/global-nav/global-nav.js +4 -4
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/input/input.js +5 -5
- package/dist/collection/components/nav-item/nav-item.js +4 -4
- package/dist/collection/components/range/range.js +4 -4
- package/dist/collection/components/resize-observe/resize-observe.js +1 -1
- package/dist/collection/components/select/select.js +7 -7
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/split-pane/split-pane.css +104 -0
- package/dist/collection/components/split-pane/split-pane.js +479 -0
- package/dist/collection/components/split-pane/split-pane.js.map +1 -0
- package/dist/collection/components/tabs/tab-group.js +3 -2
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.js +1 -1
- package/dist/collection/components/tabs/tab.js.map +1 -1
- package/dist/collection/utils/drag.js +21 -0
- package/dist/collection/utils/drag.js.map +1 -0
- package/dist/components/datalist.js.map +1 -1
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/menu.js.map +1 -1
- package/dist/components/nano-alert.js.map +1 -1
- package/dist/components/nano-checkbox.js.map +1 -1
- package/dist/components/nano-date-input.js.map +1 -1
- package/dist/components/nano-details.js.map +1 -1
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-file-upload.js.map +1 -1
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-global-search-results.js.map +1 -1
- package/dist/components/nano-hero.js.map +1 -1
- package/dist/components/nano-menu-drawer.js.map +1 -1
- package/dist/components/nano-rating.js.map +1 -1
- package/dist/components/nano-split-pane.d.ts +11 -0
- package/dist/components/nano-split-pane.js +315 -0
- package/dist/components/nano-split-pane.js.map +1 -0
- package/dist/components/nano-tab-group.js +1 -0
- package/dist/components/nano-tab-group.js.map +1 -1
- package/dist/components/nano-tab.js +1 -1
- package/dist/components/nano-tab.js.map +1 -1
- package/dist/components/option.js.map +1 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +280 -5
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/index-5f8d16e7.js +5 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js.map +1 -1
- package/dist/esm/nano-icon-button.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-rating.entry.js.map +1 -1
- package/dist/esm/nano-split-pane.entry.js +280 -0
- package/dist/esm/nano-split-pane.entry.js.map +1 -0
- package/dist/esm/nano-tab-group.entry.js +1 -0
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +1 -1
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm-es5/index-5f8d16e7.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/nano-alert.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/nano-components.js +1 -1
- package/dist/esm-es5/nano-components.js.map +1 -1
- package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-details.entry.js.map +1 -1
- package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm-es5/nano-hero.entry.js.map +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm-es5/nano-rating.entry.js.map +1 -1
- package/dist/esm-es5/nano-split-pane.entry.js +5 -0
- package/dist/esm-es5/nano-split-pane.entry.js.map +1 -0
- package/dist/esm-es5/nano-tab-group.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab.entry.js +2 -2
- package/dist/esm-es5/nano-tab.entry.js.map +1 -1
- package/dist/nano-components/nano-components.css +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/{p-e35eac75.entry.js → p-08b43111.entry.js} +2 -2
- package/dist/nano-components/p-08b43111.entry.js.map +1 -0
- package/dist/nano-components/p-090f22a9.system.entry.js.map +1 -1
- package/dist/nano-components/p-096682d9.system.js +1 -1
- package/dist/nano-components/p-096682d9.system.js.map +1 -1
- package/dist/nano-components/{p-e6f8f9f7.system.entry.js → p-1238f0fc.system.entry.js} +2 -2
- package/dist/nano-components/p-1238f0fc.system.entry.js.map +1 -0
- package/dist/nano-components/p-1e974cad.entry.js.map +1 -1
- package/dist/nano-components/p-1ec44caf.entry.js.map +1 -1
- package/dist/nano-components/p-1f99d776.entry.js.map +1 -1
- package/dist/nano-components/p-20db18f3.entry.js.map +1 -1
- package/dist/nano-components/p-3456db01.entry.js.map +1 -1
- package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -1
- package/dist/nano-components/{p-3cf35ac4.system.entry.js → p-3f736fa2.system.entry.js} +2 -2
- package/dist/nano-components/p-3f736fa2.system.entry.js.map +1 -0
- package/dist/nano-components/p-4429caac.system.entry.js.map +1 -1
- package/dist/nano-components/p-531d5275.system.entry.js.map +1 -1
- package/dist/nano-components/p-56ba0d63.entry.js.map +1 -1
- package/dist/nano-components/p-58419bed.system.entry.js.map +1 -1
- package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -1
- package/dist/nano-components/p-6afdb510.system.entry.js.map +1 -1
- package/dist/nano-components/p-71c26ace.entry.js.map +1 -1
- package/dist/nano-components/p-730f60ea.entry.js.map +1 -1
- package/dist/nano-components/p-7d2e2685.entry.js.map +1 -1
- package/dist/nano-components/p-8a8f893b.system.entry.js.map +1 -1
- package/dist/nano-components/p-93448bcd.system.entry.js.map +1 -1
- package/dist/nano-components/p-94593617.system.entry.js.map +1 -1
- package/dist/nano-components/{p-bbe6b7af.entry.js → p-ad0715d1.entry.js} +2 -2
- package/dist/nano-components/p-ad0715d1.entry.js.map +1 -0
- package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -1
- package/dist/nano-components/p-c0ddb4c3.entry.js.map +1 -1
- package/dist/nano-components/p-d628547b.entry.js +5 -0
- package/dist/nano-components/p-d628547b.entry.js.map +1 -0
- package/dist/nano-components/p-d6569144.entry.js.map +1 -1
- package/dist/nano-components/p-d87ebf95.system.entry.js +5 -0
- package/dist/nano-components/p-d87ebf95.system.entry.js.map +1 -0
- package/dist/nano-components/p-e11bd40d.entry.js.map +1 -1
- package/dist/nano-components/p-e15be516.system.entry.js.map +1 -1
- package/dist/nano-components/p-ef4e0912.system.entry.js.map +1 -1
- package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -1
- package/dist/themes/nanopore.css +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/split-pane/split-pane.d.ts +76 -0
- package/dist/types/components.d.ts +89 -0
- package/dist/types/utils/drag.d.ts +1 -0
- package/docs-json.json +309 -2
- package/docs-vscode.json +53 -0
- package/package.json +8 -6
- package/dist/nano-components/p-3cf35ac4.system.entry.js.map +0 -1
- package/dist/nano-components/p-bbe6b7af.entry.js.map +0 -1
- package/dist/nano-components/p-e35eac75.entry.js.map +0 -1
- package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +0 -1
@@ -9921,7 +9921,7 @@ var observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();
|
|
9921
9921
|
* ResizeObserver API. Encapsulates the ResizeObserver SPI implementation
|
9922
9922
|
* exposing only those methods and properties that are defined in the spec.
|
9923
9923
|
*/
|
9924
|
-
var ResizeObserver = /** @class */ (function () {
|
9924
|
+
var ResizeObserver$1 = /** @class */ (function () {
|
9925
9925
|
/**
|
9926
9926
|
* Creates a new instance of ResizeObserver.
|
9927
9927
|
*
|
@@ -9947,7 +9947,7 @@ var ResizeObserver = /** @class */ (function () {
|
|
9947
9947
|
'unobserve',
|
9948
9948
|
'disconnect'
|
9949
9949
|
].forEach(function (method) {
|
9950
|
-
ResizeObserver.prototype[method] = function () {
|
9950
|
+
ResizeObserver$1.prototype[method] = function () {
|
9951
9951
|
var _a;
|
9952
9952
|
return (_a = observers.get(this))[method].apply(_a, arguments);
|
9953
9953
|
};
|
@@ -9958,7 +9958,7 @@ var index$2 = (function () {
|
|
9958
9958
|
if (typeof global$1.ResizeObserver !== 'undefined') {
|
9959
9959
|
return global$1.ResizeObserver;
|
9960
9960
|
}
|
9961
|
-
return ResizeObserver;
|
9961
|
+
return ResizeObserver$1;
|
9962
9962
|
})();
|
9963
9963
|
|
9964
9964
|
const detailsCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;--padding:1em;--btn-padding:var(--padding);--btn-bg-color:var(--nano-color-contrast, #dad6d3);--btn-bg-color--open:var(--nano-color-base, #dad6d3);--btn-bg-color--hover:var(--nano-color-tint, #f9f9fb);--btn-text-color:var(--nano-color-base, #455556);--btn-text-color--open:var(--nano-color-contrast, var(--btn-text-color));--btn-text-color--hover:var(--nano-color-contrast, var(--btn-text-color));--content-bg-color:transparent;--content-text-color:#455556;--content-transition:height 0.2s ease-out;--border-width:none;--border-color:none;--border-style:none;--border-radius:none;--box-shadow:none;--focus-style:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));display:block;border-style:var(--border-style);border-width:var(--border-width-dims);border-color:var(--border-color);border-radius:var(--border-radius-dims);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}:host(:last-of-type){--border-width-dims:0 var(--border-width) var(--border-width);--border-radius-dims:0 0 var(--border-radius) var(--border-radius)}:host(:last-of-type) .open .content{border-radius:0 0 var(--border-radius) var(--border-radius)}:host(:first-of-type){--border-radius-dims:var(--border-radius) var(--border-radius) 0 0;--border-width-dims:var(--border-width)}:host(:first-of-type:last-of-type){--border-radius-dims:var(--border-radius);--border-width-dims:var(--border-width)}:host(:not(:last-of-type):not(:first-of-type)){--border-width-dims:0 var(--border-width) var(--border-width)}:host(.nano-color){--btn-bg-color:var(--nano-color-contrast, var(--nano-color-primary-contrast, #fff));--btn-bg-color--open:var(--nano-color-base, var(--nano-color-primary, #007495));--btn-bg-color--hover:var(--nano-color-tint, var(--nano-color-primary-tint, #2689a5));--btn-text-color:var(--nano-color-base, var(--nano-color-primary, #007495));--btn-text-color--open:var(\n --nano-color-contrast,\n var(--nano-color-primary-contrast, #fff)\n );--btn-text-color--hover:var(\n --nano-color-contrast,\n var(--nano-color-primary-contrast, #fff)\n )}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;padding:var(--btn-padding);text-align:inherit;position:relative;font-size:1em;margin:0;-webkit-transition:0.3s ease background, 0.3s ease color, 0.15s ease box-shadow;transition:0.3s ease background, 0.3s ease color, 0.15s ease box-shadow;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--btn-bg-color);color:var(--btn-text-color);border-radius:var(--border-radius-dims)}button[dir=rtl]{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}button:focus{-webkit-box-shadow:var(--focus-style);box-shadow:var(--focus-style);outline:none;position:relative;z-index:1}:hover button{background:var(--btn-bg-color--hover);color:var(--btn-text-color--hover)}.open button{background:var(--btn-bg-color--open);color:var(--btn-text-color--open);border-bottom-right-radius:0;border-bottom-left-radius:0}button .label{width:100%;max-width:100%;max-height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;display:inline-block}button .icon{line-height:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:inline-block;color:currentColor;-webkit-transition:0.3s ease transform;transition:0.3s ease transform;-webkit-transform-origin:center;transform-origin:center}button .icon--start{margin-left:0;margin-right:var(--padding);margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){button .icon--start{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--padding);margin-inline-end:var(--padding)}}button .icon--end{margin-left:var(--padding);margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){button .icon--end{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--padding);margin-inline-start:var(--padding);-webkit-margin-end:0;margin-inline-end:0}}button .icon ::slotted(nano-icon){--color:\"currentColor\"}.content{color:var(--content-text-color);background:var(--content-bg-color);height:0;overflow:hidden;-webkit-transition:0.2s ease border-radius;transition:0.2s ease border-radius;outline:none}.loaded .content{-webkit-transition:var(--content-transition), 0.2s ease border-radius;transition:var(--content-transition), 0.2s ease border-radius}.content>*{opacity:0;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out}.open .content>*{opacity:1}.content__area{padding:var(--padding)}";
|
@@ -22333,6 +22333,278 @@ let Spinner = class extends H {
|
|
22333
22333
|
static get style() { return spinnerCss; }
|
22334
22334
|
};
|
22335
22335
|
|
22336
|
+
function drag(container, onMove) {
|
22337
|
+
function move(pointerEvent) {
|
22338
|
+
const dims = container.getBoundingClientRect();
|
22339
|
+
const defaultView = container.ownerDocument.defaultView;
|
22340
|
+
const offsetX = dims.left + defaultView.pageXOffset;
|
22341
|
+
const offsetY = dims.top + defaultView.pageYOffset;
|
22342
|
+
const x = pointerEvent.pageX - offsetX;
|
22343
|
+
const y = pointerEvent.pageY - offsetY;
|
22344
|
+
onMove(x, y);
|
22345
|
+
}
|
22346
|
+
function stop() {
|
22347
|
+
document.removeEventListener('pointermove', move);
|
22348
|
+
document.removeEventListener('pointerup', stop);
|
22349
|
+
}
|
22350
|
+
document.addEventListener('pointermove', move, { passive: true });
|
22351
|
+
document.addEventListener('pointerup', stop);
|
22352
|
+
}
|
22353
|
+
|
22354
|
+
const splitPaneCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--divider-width:12px;--divider-hit-area:14px;--min:0%;--max:100%;--background-color:#e4e6e8;--content-color:#918b86;display:-ms-grid;display:grid}.start,.end{overflow:hidden}.divider{-webkit-box-flex:0;-ms-flex:0 0 var(--divider-width);flex:0 0 var(--divider-width);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:var(--background-color);color:var(--content-color);z-index:1;font-size:0.8rem}.divider:focus{outline:none}:host(:not([disabled])) .divider:focus-visible{background-color:var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}:host([disabled]) .divider{cursor:not-allowed}:host(:not([vertical],[disabled])) .divider{cursor:col-resize}:host(:not([vertical])) .divider::after{display:-webkit-box;display:-ms-flexbox;display:flex;content:\"\";position:absolute;height:100%;left:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);width:var(--divider-hit-area)}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([vertical]:not([disabled])) .divider{cursor:row-resize}:host([vertical]) .divider::after{content:\"\";position:absolute;width:100%;top:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);height:var(--divider-hit-area)}";
|
22355
|
+
|
22356
|
+
let SplitPane = class extends H {
|
22357
|
+
constructor() {
|
22358
|
+
super();
|
22359
|
+
this.__registerHost();
|
22360
|
+
this.__attachShadow();
|
22361
|
+
this.nanoReposition = createEvent(this, "nanoReposition", 7);
|
22362
|
+
this.isAnimating = false;
|
22363
|
+
this.didLoad = false;
|
22364
|
+
this._shouldAnimate = true;
|
22365
|
+
/** Draws the split panel in a vertical orientation with the start and end panels stacked. */
|
22366
|
+
this.vertical = false;
|
22367
|
+
/** Disables resizing. Note that the position may still change as a result of resizing the host element. */
|
22368
|
+
this.disabled = false;
|
22369
|
+
/** How close the divider must be to a snap point until snapping occurs. */
|
22370
|
+
this.snapThreshold = 12;
|
22371
|
+
/** When changing `position` via property, the pane will animate into position. Make `animationDuration` 0 to disable. */
|
22372
|
+
this.animationDuration = 0.6;
|
22373
|
+
this._isDragging = false;
|
22374
|
+
this.handleIsDragging = (dragging) => {
|
22375
|
+
this._isDragging = dragging;
|
22376
|
+
};
|
22377
|
+
// Event handlers
|
22378
|
+
this.handleDrag = (e) => {
|
22379
|
+
if (this.disabled) {
|
22380
|
+
return;
|
22381
|
+
}
|
22382
|
+
// Prevent text selection when dragging
|
22383
|
+
e.preventDefault();
|
22384
|
+
drag(this.host, (x, y) => {
|
22385
|
+
this.handleIsDragging(true);
|
22386
|
+
let newPositionInPixels = this.vertical ? y : x;
|
22387
|
+
// Flip for end panels
|
22388
|
+
if (this.primary === 'end') {
|
22389
|
+
newPositionInPixels = this.size - newPositionInPixels;
|
22390
|
+
}
|
22391
|
+
// Check snap points
|
22392
|
+
if (this.snap) {
|
22393
|
+
const snaps = this.snap.split(' ');
|
22394
|
+
snaps.forEach((value) => {
|
22395
|
+
let snapPoint;
|
22396
|
+
if (value.endsWith('%')) {
|
22397
|
+
snapPoint = this.size * (parseFloat(value) / 100);
|
22398
|
+
}
|
22399
|
+
else {
|
22400
|
+
snapPoint = parseFloat(value);
|
22401
|
+
}
|
22402
|
+
if (newPositionInPixels >= snapPoint - this.snapThreshold &&
|
22403
|
+
newPositionInPixels <= snapPoint + this.snapThreshold) {
|
22404
|
+
newPositionInPixels = snapPoint;
|
22405
|
+
}
|
22406
|
+
});
|
22407
|
+
}
|
22408
|
+
this.shouldAnimate = false;
|
22409
|
+
this.position = clamp$2(this.pixelsToPercentage(newPositionInPixels), 0, 100);
|
22410
|
+
raf(() => (this.shouldAnimate = true));
|
22411
|
+
this.handleIsDragging(false);
|
22412
|
+
});
|
22413
|
+
};
|
22414
|
+
this.handleKeyDown = (event) => {
|
22415
|
+
if (this.disabled) {
|
22416
|
+
return;
|
22417
|
+
}
|
22418
|
+
if ([
|
22419
|
+
'ArrowLeft',
|
22420
|
+
'ArrowRight',
|
22421
|
+
'ArrowUp',
|
22422
|
+
'ArrowDown',
|
22423
|
+
'Home',
|
22424
|
+
'End',
|
22425
|
+
].includes(event.key)) {
|
22426
|
+
let newPosition = this.position;
|
22427
|
+
const incr = (event.shiftKey ? 10 : 1) * (this.primary === 'end' ? -1 : 1);
|
22428
|
+
event.preventDefault();
|
22429
|
+
if ((event.key === 'ArrowLeft' && !this.vertical) ||
|
22430
|
+
(event.key === 'ArrowUp' && this.vertical)) {
|
22431
|
+
newPosition -= incr;
|
22432
|
+
}
|
22433
|
+
if ((event.key === 'ArrowRight' && !this.vertical) ||
|
22434
|
+
(event.key === 'ArrowDown' && this.vertical)) {
|
22435
|
+
newPosition += incr;
|
22436
|
+
}
|
22437
|
+
if (event.key === 'Home') {
|
22438
|
+
newPosition = this.primary === 'end' ? 100 : 0;
|
22439
|
+
}
|
22440
|
+
if (event.key === 'End') {
|
22441
|
+
newPosition = this.primary === 'end' ? 0 : 100;
|
22442
|
+
}
|
22443
|
+
this.shouldAnimate = false;
|
22444
|
+
this.position = clamp$2(newPosition, 0, 100);
|
22445
|
+
raf(() => (this.shouldAnimate = true));
|
22446
|
+
}
|
22447
|
+
};
|
22448
|
+
this.handleResize = () => {
|
22449
|
+
if (!this.didLoad || this.isAnimating)
|
22450
|
+
return;
|
22451
|
+
// Resize when a primary panel is set
|
22452
|
+
if (this.primary) {
|
22453
|
+
this.shouldAnimate = false;
|
22454
|
+
this.position = this.pixelsToPercentage(this.cachedPositionInPixels);
|
22455
|
+
raf(() => (this.shouldAnimate = true));
|
22456
|
+
}
|
22457
|
+
};
|
22458
|
+
this.handlePositionChange = debounce$1(this.handlePositionChange.bind(this), 100);
|
22459
|
+
this.handleIsDragging = debounce$1(this.handleIsDragging, 200);
|
22460
|
+
}
|
22461
|
+
get size() {
|
22462
|
+
const { width, height } = this.host.getBoundingClientRect();
|
22463
|
+
return this.vertical ? height : width;
|
22464
|
+
}
|
22465
|
+
get shouldAnimate() {
|
22466
|
+
return this.didLoad && this._shouldAnimate;
|
22467
|
+
}
|
22468
|
+
set shouldAnimate(sa) {
|
22469
|
+
this._shouldAnimate = sa;
|
22470
|
+
}
|
22471
|
+
/**
|
22472
|
+
* The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the
|
22473
|
+
* container's initial size.
|
22474
|
+
*/
|
22475
|
+
get position() {
|
22476
|
+
return this._position;
|
22477
|
+
}
|
22478
|
+
set position(pos) {
|
22479
|
+
// override too high / low
|
22480
|
+
pos = Math.min(Math.max(pos, 0), 100);
|
22481
|
+
if (isNaN(pos) || pos === this._position)
|
22482
|
+
return;
|
22483
|
+
if (this.shouldAnimate && this.animationDuration > 0) {
|
22484
|
+
this.animatePosition(pos);
|
22485
|
+
return;
|
22486
|
+
}
|
22487
|
+
this._position = pos;
|
22488
|
+
}
|
22489
|
+
// eslint-disable-next-line @stencil/no-unused-watch
|
22490
|
+
handlePositionChange() {
|
22491
|
+
this.cachedPositionInPixels = this.percentageToPixels(this.position);
|
22492
|
+
this.positionInPixels = this.percentageToPixels(this.position);
|
22493
|
+
this.nanoReposition.emit();
|
22494
|
+
}
|
22495
|
+
handlePositionInPixelsChange() {
|
22496
|
+
this.position = this.pixelsToPercentage(this.positionInPixels);
|
22497
|
+
}
|
22498
|
+
/** @readonly - hook to know if the pane is currently being dragged */
|
22499
|
+
get isDragging() {
|
22500
|
+
return this._isDragging;
|
22501
|
+
}
|
22502
|
+
// Private logic
|
22503
|
+
animatePosition(end) {
|
22504
|
+
if (this.isAnimating)
|
22505
|
+
return;
|
22506
|
+
const duration = this.animationDuration; // seconds
|
22507
|
+
const fps = 60;
|
22508
|
+
const start = this.position;
|
22509
|
+
const distance = end - start;
|
22510
|
+
let position = start;
|
22511
|
+
let time = 0;
|
22512
|
+
function easeInOutQuad(t, s, e, d) {
|
22513
|
+
if ((t /= d / 2) < 1)
|
22514
|
+
return (e / 2) * t * t + s;
|
22515
|
+
else
|
22516
|
+
return (-e / 2) * (--t * (t - 2) - 1) + s;
|
22517
|
+
}
|
22518
|
+
const go = () => {
|
22519
|
+
time += 1 / fps;
|
22520
|
+
position = easeInOutQuad(time, start, distance, duration);
|
22521
|
+
if ((end > start && position >= end) ||
|
22522
|
+
(end < start && position <= end)) {
|
22523
|
+
this.position = end;
|
22524
|
+
this.shouldAnimate = true;
|
22525
|
+
this.isAnimating = false;
|
22526
|
+
return;
|
22527
|
+
}
|
22528
|
+
this.position = position;
|
22529
|
+
raf(go);
|
22530
|
+
};
|
22531
|
+
this.shouldAnimate = false;
|
22532
|
+
this.isAnimating = true;
|
22533
|
+
raf(go);
|
22534
|
+
}
|
22535
|
+
percentageToPixels(value) {
|
22536
|
+
return this.size * (value / 100);
|
22537
|
+
}
|
22538
|
+
pixelsToPercentage(value) {
|
22539
|
+
return (value / this.size) * 100;
|
22540
|
+
}
|
22541
|
+
attachRO() {
|
22542
|
+
this.detachRO();
|
22543
|
+
this.ro = new ResizeObserver(() => this.handleResize());
|
22544
|
+
this.ro.observe(this.host);
|
22545
|
+
}
|
22546
|
+
detachRO() {
|
22547
|
+
if (!this.ro)
|
22548
|
+
return;
|
22549
|
+
this.ro.unobserve(this.host);
|
22550
|
+
this.ro = undefined;
|
22551
|
+
}
|
22552
|
+
componentDidLoad() {
|
22553
|
+
if (this.positionInPixels)
|
22554
|
+
this.handlePositionInPixelsChange();
|
22555
|
+
setTimeout(() => (this.didLoad = true));
|
22556
|
+
}
|
22557
|
+
connectedCallback() {
|
22558
|
+
this.cachedPositionInPixels = this.percentageToPixels(this.position);
|
22559
|
+
this.attachRO();
|
22560
|
+
}
|
22561
|
+
disconnectedCallback() {
|
22562
|
+
this.detachRO();
|
22563
|
+
}
|
22564
|
+
componentDidRender() {
|
22565
|
+
// bit hacky ... because we use getter / setter for position, there's a render *before* `position` is passed in via attribute
|
22566
|
+
// if we set a default position in the class, this causes the divider to jump (from default to user set position)
|
22567
|
+
// so - wait a render, see if there's a position passed in via attribute, *then* set default if not
|
22568
|
+
raf(() => {
|
22569
|
+
if (this.position === undefined)
|
22570
|
+
this.position = 50;
|
22571
|
+
});
|
22572
|
+
}
|
22573
|
+
render() {
|
22574
|
+
if (!this.position)
|
22575
|
+
return;
|
22576
|
+
const styles = {};
|
22577
|
+
const gridTemplate = this.vertical
|
22578
|
+
? 'gridTemplateRows'
|
22579
|
+
: 'gridTemplateColumns';
|
22580
|
+
const primary = `
|
22581
|
+
clamp(
|
22582
|
+
0%,
|
22583
|
+
clamp(
|
22584
|
+
var(--min),
|
22585
|
+
${this.position}% - var(--divider-width) / 2,
|
22586
|
+
var(--max)
|
22587
|
+
),
|
22588
|
+
calc(100% - var(--divider-width))
|
22589
|
+
)
|
22590
|
+
`;
|
22591
|
+
const secondary = 'auto';
|
22592
|
+
if (this.primary === 'end') {
|
22593
|
+
styles[gridTemplate] = `${secondary} var(--divider-width) ${primary}`;
|
22594
|
+
}
|
22595
|
+
else {
|
22596
|
+
styles[gridTemplate] = `${primary} var(--divider-width) ${secondary}`;
|
22597
|
+
}
|
22598
|
+
return (h$1(Host, { style: styles }, h$1("div", { part: "panel start", class: "start" }, h$1("slot", { name: "start" })), h$1("div", { part: "divider", class: "divider", tabindex: this.disabled ? undefined : '0', role: "separator", "aria-label": "Resize", onKeyDown: this.handleKeyDown, onMouseDown: this.handleDrag, onTouchStart: this.handleDrag }, h$1("slot", { name: "handle" }, !this.disabled && this.vertical ? (h$1("nano-icon", { slot: "handle", name: "solid/grip-lines" })) : (h$1("nano-icon", { slot: "handle", name: "solid/grip-lines-vertical" })))), h$1("div", { part: "panel end", class: "end" }, h$1("slot", { name: "end" }))));
|
22599
|
+
}
|
22600
|
+
get host() { return this; }
|
22601
|
+
static get watchers() { return {
|
22602
|
+
"position": ["handlePositionChange"],
|
22603
|
+
"positionInPixels": ["handlePositionInPixelsChange"]
|
22604
|
+
}; }
|
22605
|
+
static get style() { return splitPaneCss; }
|
22606
|
+
};
|
22607
|
+
|
22336
22608
|
const stickerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--stuck-left:initial;--stuck-right:initial;--stuck-z-index:var(--nano-layer-index-menubar, 10);--top-hide:translateY(-110%);--bottom-hide:translateY(110%);display:block;max-width:100%}:host([sticky]){position:-webkit-sticky;position:sticky;-webkit-transition:0.3s ease transform;transition:0.3s ease transform;will-change:min-height}:host([sticky][stuck]){left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index) !important}:host([sticky][hide][placed-top]){-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([sticky][hide][placed-bottom]){-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}:host([sticky][index=\"1\"]){z-index:calc(var(--stuck-z-index) + 1)}:host([sticky][index=\"2\"]){z-index:calc(var(--stuck-z-index) + 2)}:host([sticky][index=\"3\"]){z-index:calc(var(--stuck-z-index) + 3)}:host([sticky][index=\"4\"]){z-index:calc(var(--stuck-z-index) + 4)}:host([sticky][index=\"5\"]){z-index:calc(var(--stuck-z-index) + 5)}.sticker{display:inherit;max-width:inherit;width:100%}.sticker:not(.stuck){width:auto !important}.sticker.sticky{-webkit-transition:0.3s ease all;transition:0.3s ease all;position:relative}:host([index=\"1\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 1)}:host([index=\"2\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 2)}:host([index=\"3\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 3)}:host([index=\"4\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 4)}:host([index=\"5\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 5)}.sticker.stuck{position:fixed;left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index);-webkit-transform:translateY(0);transform:translateY(0)}:host([placed-top]) .sticker.stuck{top:0}:host([placed-bottom]) .sticker.stuck{bottom:0}:host([placed-top]) .sticker.stuck.hide{-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([placed-bottom]) .sticker.stuck.hide{-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}.sticker-content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}";
|
22337
22609
|
|
22338
22610
|
function _getScrollTop(ele) {
|
@@ -22979,7 +23251,7 @@ let Tab = class extends H {
|
|
22979
23251
|
'nanotab--active': this.active,
|
22980
23252
|
'nanotab--disabled': this.disabled,
|
22981
23253
|
'nanotab--closable': this.closable,
|
22982
|
-
}, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, h$1("slot", null), this.closable && (h$1("nano-icon-button", { label: "Close this tab", iconName: "light/times", class: "nanotab__close-button", onClick: this.handleCloseClick, tabIndex: -1
|
23254
|
+
}, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, h$1("slot", null), this.closable && (h$1("nano-icon-button", { label: "Close this tab", iconName: "light/times", class: "nanotab__close-button", onClick: this.handleCloseClick, tabIndex: -1 })))));
|
22983
23255
|
}
|
22984
23256
|
get host() { return this; }
|
22985
23257
|
static get style() { return tabCss; }
|
@@ -23385,6 +23657,7 @@ let TabGroup = class extends H {
|
|
23385
23657
|
setTimeout(() => {
|
23386
23658
|
this.updateScrollControls();
|
23387
23659
|
this.syncActiveTabIndicator();
|
23660
|
+
scrollIntoView(this.activeTab, this.nav, 'horizontal', 'center');
|
23388
23661
|
}, 500);
|
23389
23662
|
});
|
23390
23663
|
this.resizeObserver.observe(this.nav);
|
@@ -23655,6 +23928,7 @@ const NanoSkeleton = /*@__PURE__*/proxyCustomElement(Skeleton, [1,"nano-skeleton
|
|
23655
23928
|
const NanoSlide = /*@__PURE__*/proxyCustomElement(Slide$2, [1,"nano-slide",{"ready":[1540]}]);
|
23656
23929
|
const NanoSlides = /*@__PURE__*/proxyCustomElement(Slides, [1,"nano-slides",{"options":[1040],"navbtns":[4],"pager":[4],"fullscreenbtn":[4],"fullscreen":[1540],"animation":[513],"currentSlide":[1538,"current-slide"],"autoplay":[8],"ready":[1540],"iCurrentSlide":[32],"slidesReady":[32],"didInit":[32]}]);
|
23657
23930
|
const NanoSpinner = /*@__PURE__*/proxyCustomElement(Spinner, [1,"nano-spinner",{"type":[1],"overlay":[516],"hasText":[32]}]);
|
23931
|
+
const NanoSplitPane = /*@__PURE__*/proxyCustomElement(SplitPane, [1,"nano-split-pane",{"position":[6146],"positionInPixels":[1026,"position-in-pixels"],"vertical":[516],"disabled":[516],"primary":[1],"snap":[1],"snapThreshold":[2,"snap-threshold"],"animationDuration":[2,"animation-duration"],"isDragging":[2564,"is-dragging"]}]);
|
23658
23932
|
const NanoSticker = /*@__PURE__*/proxyCustomElement(Sticker, [1,"nano-sticker",{"autoResize":[4,"auto-resize"],"isSticky":[1028,"is-sticky"],"offset":[1026],"position":[1],"quietMode":[1,"quiet-mode"],"hideOnNewStickers":[4,"hide-on-new-stickers"],"breakPointMax":[2,"break-point-max"],"breakPointMin":[2,"break-point-min"],"scrollParent":[1040],"stickTo":[1,"stick-to"],"isStuck":[32],"isRootSticker":[32],"hide":[32],"scrollHide":[32],"multiStickerHide":[32],"scrollingTo":[32],"quietModeIsOn":[32],"stuckCounter":[32],"stickerIndex":[32],"stickToEle":[32],"triggerPos":[32],"trigger":[32],"_offset":[32]}]);
|
23659
23933
|
const NanoTab = /*@__PURE__*/proxyCustomElement(Tab, [1,"nano-tab",{"panel":[513],"active":[516],"disabled":[516],"closable":[4]}]);
|
23660
23934
|
const NanoTabContent = /*@__PURE__*/proxyCustomElement(TabPanel, [1,"nano-tab-content",{"name":[513],"active":[516]}]);
|
@@ -23702,6 +23976,7 @@ const defineCustomElements = (opts) => {
|
|
23702
23976
|
NanoSlide,
|
23703
23977
|
NanoSlides,
|
23704
23978
|
NanoSpinner,
|
23979
|
+
NanoSplitPane,
|
23705
23980
|
NanoSticker,
|
23706
23981
|
NanoTab,
|
23707
23982
|
NanoTabContent,
|
@@ -27162,6 +27437,6 @@ const index = /*#__PURE__*/Object.freeze({
|
|
27162
27437
|
GESTURE_CONTROLLER: GESTURE_CONTROLLER
|
27163
27438
|
});
|
27164
27439
|
|
27165
|
-
export { NanoAccordion, NanoAlert, NanoAlgolia, NanoAlgoliaFilter, NanoAlgoliaInput, NanoAlgoliaPagination, NanoAlgoliaResults, NanoAspectRatio, NanoCheckbox, NanoCheckboxGroup, NanoDatalist, NanoDateInput, NanoDatePicker, NanoDetails, NanoDialog, NanoDrawer, NanoDropdown, NanoFileUpload, NanoGlobalNav, NanoGlobalSearchResults, NanoGrid, NanoGridItem, NanoHero, NanoIcon, NanoIconButton, NanoImg, NanoInput, NanoMenu, NanoMenuDrawer, NanoNavItem, NanoOption, NanoRange, NanoRating, NanoResizeObserve, NanoSelect, NanoSkeleton, NanoSlide, NanoSlides, NanoSpinner, NanoSticker, NanoTab, NanoTabContent, NanoTabGroup, NanoTooltip, defineCustomElements, nanoCreateDialog, debounce$1 as nanoDebounce, raf as nanoRaf, nanoShowAlert, nanoShowToast, throttle$1 as nanoThrottle, setAssetPath, setPlatformOptions };
|
27440
|
+
export { NanoAccordion, NanoAlert, NanoAlgolia, NanoAlgoliaFilter, NanoAlgoliaInput, NanoAlgoliaPagination, NanoAlgoliaResults, NanoAspectRatio, NanoCheckbox, NanoCheckboxGroup, NanoDatalist, NanoDateInput, NanoDatePicker, NanoDetails, NanoDialog, NanoDrawer, NanoDropdown, NanoFileUpload, NanoGlobalNav, NanoGlobalSearchResults, NanoGrid, NanoGridItem, NanoHero, NanoIcon, NanoIconButton, NanoImg, NanoInput, NanoMenu, NanoMenuDrawer, NanoNavItem, NanoOption, NanoRange, NanoRating, NanoResizeObserve, NanoSelect, NanoSkeleton, NanoSlide, NanoSlides, NanoSpinner, NanoSplitPane, NanoSticker, NanoTab, NanoTabContent, NanoTabGroup, NanoTooltip, defineCustomElements, nanoCreateDialog, debounce$1 as nanoDebounce, raf as nanoRaf, nanoShowAlert, nanoShowToast, throttle$1 as nanoThrottle, setAssetPath, setPlatformOptions };
|
27166
27441
|
|
27167
27442
|
//# sourceMappingURL=index.js.map
|