95d9d2f9a8
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
825 lines
45 KiB
JavaScript
825 lines
45 KiB
JavaScript
(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([[1938],{
|
|
|
|
/***/ 17481:
|
|
/*!***********************************************************!*\
|
|
!*** ./node_modules/@ionic/core/dist/esm/dir-e8b767a8.js ***!
|
|
\***********************************************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "i": () => (/* binding */ isRTL)
|
|
/* harmony export */ });
|
|
/*!
|
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
*/
|
|
|
|
/**
|
|
* Returns `true` if the document or host element
|
|
* has a `dir` set to `rtl`. The host value will always
|
|
* take priority over the root document value.
|
|
*/
|
|
const isRTL = hostEl => {
|
|
if (hostEl) {
|
|
if (hostEl.dir !== '') {
|
|
return hostEl.dir.toLowerCase() === 'rtl';
|
|
}
|
|
}
|
|
|
|
return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
|
|
};
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 91938:
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js ***!
|
|
\******************************************************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "ion_segment": () => (/* binding */ Segment),
|
|
/* harmony export */ "ion_segment_button": () => (/* binding */ SegmentButton)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 71670);
|
|
/* harmony import */ var _index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index-8e692445.js */ 91559);
|
|
/* harmony import */ var _ionic_global_c74e4951_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ionic-global-c74e4951.js */ 95823);
|
|
/* harmony import */ var _helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers-3b390e48.js */ 29259);
|
|
/* harmony import */ var _dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dir-e8b767a8.js */ 17481);
|
|
/* harmony import */ var _theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./theme-7670341c.js */ 50320);
|
|
|
|
|
|
/*!
|
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-toolbar){margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
|
|
const segmentMdCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.in-toolbar){min-height:var(--min-height)}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";
|
|
const Segment = class {
|
|
constructor(hostRef) {
|
|
(0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.r)(this, hostRef);
|
|
this.ionChange = (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionChange", 7);
|
|
this.ionSelect = (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionSelect", 7);
|
|
this.ionStyle = (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionStyle", 7);
|
|
this.didInit = false;
|
|
this.activated = false;
|
|
/**
|
|
* If `true`, the user cannot interact with the segment.
|
|
*/
|
|
|
|
this.disabled = false;
|
|
/**
|
|
* If `true`, the segment buttons will overflow and the user can swipe to see them.
|
|
* In addition, this will disable the gesture to drag the indicator between the buttons
|
|
* in order to swipe to see hidden buttons.
|
|
*/
|
|
|
|
this.scrollable = false;
|
|
/**
|
|
* If `true`, users will be able to swipe between segment buttons to activate them.
|
|
*/
|
|
|
|
this.swipeGesture = true;
|
|
/**
|
|
* If `true`, navigating to an `ion-segment-button` with the keyboard will focus and select the element.
|
|
* If `false`, keyboard navigation will only focus the `ion-segment-button` element.
|
|
*/
|
|
|
|
this.selectOnFocus = false;
|
|
|
|
this.onClick = ev => {
|
|
const current = ev.target;
|
|
const previous = this.checked; // If the current element is a segment then that means
|
|
// the user tried to swipe to a segment button and
|
|
// click a segment button at the same time so we should
|
|
// not update the checked segment button
|
|
|
|
if (current.tagName === 'ION-SEGMENT') {
|
|
return;
|
|
}
|
|
|
|
this.value = current.value;
|
|
|
|
if (this.scrollable || !this.swipeGesture) {
|
|
if (previous) {
|
|
this.checkButton(previous, current);
|
|
} else {
|
|
this.setCheckedClasses();
|
|
}
|
|
}
|
|
|
|
this.checked = current;
|
|
};
|
|
|
|
this.getSegmentButton = selector => {
|
|
var _a, _b;
|
|
|
|
const buttons = this.getButtons().filter(button => !button.disabled);
|
|
const currIndex = buttons.findIndex(button => button === document.activeElement);
|
|
|
|
switch (selector) {
|
|
case 'first':
|
|
return buttons[0];
|
|
|
|
case 'last':
|
|
return buttons[buttons.length - 1];
|
|
|
|
case 'next':
|
|
return (_a = buttons[currIndex + 1]) !== null && _a !== void 0 ? _a : buttons[0];
|
|
|
|
case 'previous':
|
|
return (_b = buttons[currIndex - 1]) !== null && _b !== void 0 ? _b : buttons[buttons.length - 1];
|
|
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
}
|
|
|
|
colorChanged(value, oldValue) {
|
|
/**
|
|
* If color is set after not having
|
|
* previously been set (or vice versa),
|
|
* we need to emit style so the segment-buttons
|
|
* can apply their color classes properly.
|
|
*/
|
|
if (oldValue === undefined && value !== undefined || oldValue !== undefined && value === undefined) {
|
|
this.emitStyle();
|
|
}
|
|
}
|
|
|
|
swipeGestureChanged() {
|
|
this.gestureChanged();
|
|
}
|
|
|
|
valueChanged(value, oldValue) {
|
|
this.ionSelect.emit({
|
|
value
|
|
});
|
|
|
|
if (oldValue !== '' || this.didInit) {
|
|
if (!this.activated) {
|
|
this.ionChange.emit({
|
|
value
|
|
});
|
|
} else {
|
|
this.valueAfterGesture = value;
|
|
}
|
|
}
|
|
|
|
if (this.scrollable) {
|
|
const buttons = this.getButtons();
|
|
const activeButton = buttons.find(button => button.value === value);
|
|
|
|
if (activeButton !== undefined) {
|
|
/**
|
|
* Scrollable segment buttons should be
|
|
* centered within the view including
|
|
* buttons that are partially offscreen.
|
|
*/
|
|
activeButton.scrollIntoView({
|
|
behavior: 'smooth',
|
|
inline: 'center',
|
|
|
|
/**
|
|
* Segment should scroll on the
|
|
* horizontal axis. `block: 'nearest'`
|
|
* ensures that the vertical axis
|
|
* does not scroll if the segment
|
|
* as a whole is already in view.
|
|
*/
|
|
block: 'nearest'
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
disabledChanged() {
|
|
this.gestureChanged();
|
|
const buttons = this.getButtons();
|
|
|
|
for (const button of buttons) {
|
|
button.disabled = this.disabled;
|
|
}
|
|
}
|
|
|
|
gestureChanged() {
|
|
if (this.gesture) {
|
|
this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture);
|
|
}
|
|
}
|
|
|
|
connectedCallback() {
|
|
this.emitStyle();
|
|
}
|
|
|
|
componentWillLoad() {
|
|
this.emitStyle();
|
|
}
|
|
|
|
componentDidLoad() {
|
|
var _this = this;
|
|
|
|
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
|
_this.setCheckedClasses();
|
|
|
|
_this.gesture = (yield Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./index-422b6e83.js */ 36366))).createGesture({
|
|
el: _this.el,
|
|
gestureName: 'segment',
|
|
gesturePriority: 100,
|
|
threshold: 0,
|
|
passive: false,
|
|
onStart: ev => _this.onStart(ev),
|
|
onMove: ev => _this.onMove(ev),
|
|
onEnd: ev => _this.onEnd(ev)
|
|
});
|
|
|
|
_this.gestureChanged();
|
|
|
|
if (_this.disabled) {
|
|
_this.disabledChanged();
|
|
}
|
|
|
|
_this.didInit = true;
|
|
})();
|
|
}
|
|
|
|
onStart(detail) {
|
|
this.activate(detail);
|
|
}
|
|
|
|
onMove(detail) {
|
|
this.setNextIndex(detail);
|
|
}
|
|
|
|
onEnd(detail) {
|
|
this.setActivated(false);
|
|
const checkedValidButton = this.setNextIndex(detail, true);
|
|
detail.event.stopImmediatePropagation();
|
|
|
|
if (checkedValidButton) {
|
|
this.addRipple(detail);
|
|
}
|
|
|
|
const value = this.valueAfterGesture;
|
|
|
|
if (value !== undefined) {
|
|
this.ionChange.emit({
|
|
value
|
|
});
|
|
this.valueAfterGesture = undefined;
|
|
}
|
|
}
|
|
|
|
getButtons() {
|
|
return Array.from(this.el.querySelectorAll('ion-segment-button'));
|
|
}
|
|
/**
|
|
* The gesture blocks the segment button ripple. This
|
|
* function adds the ripple based on the checked segment
|
|
* and where the cursor ended.
|
|
*/
|
|
|
|
|
|
addRipple(detail) {
|
|
const useRippleEffect = _ionic_global_c74e4951_js__WEBPACK_IMPORTED_MODULE_2__.c.getBoolean('animated', true) && _ionic_global_c74e4951_js__WEBPACK_IMPORTED_MODULE_2__.c.getBoolean('rippleEffect', true);
|
|
|
|
if (!useRippleEffect) {
|
|
return;
|
|
}
|
|
|
|
const buttons = this.getButtons();
|
|
const checked = buttons.find(button => button.value === this.value);
|
|
const root = checked.shadowRoot || checked;
|
|
const ripple = root.querySelector('ion-ripple-effect');
|
|
|
|
if (!ripple) {
|
|
return;
|
|
}
|
|
|
|
const {
|
|
x,
|
|
y
|
|
} = (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__.p)(detail.event);
|
|
ripple.addRipple(x, y).then(remove => remove());
|
|
}
|
|
/*
|
|
* Activate both the segment and the buttons
|
|
* due to a bug with ::slotted in Safari
|
|
*/
|
|
|
|
|
|
setActivated(activated) {
|
|
const buttons = this.getButtons();
|
|
buttons.forEach(button => {
|
|
if (activated) {
|
|
button.classList.add('segment-button-activated');
|
|
} else {
|
|
button.classList.remove('segment-button-activated');
|
|
}
|
|
});
|
|
this.activated = activated;
|
|
}
|
|
|
|
activate(detail) {
|
|
const clicked = detail.event.target;
|
|
const buttons = this.getButtons();
|
|
const checked = buttons.find(button => button.value === this.value); // Make sure we are only checking for activation on a segment button
|
|
// since disabled buttons will get the click on the segment
|
|
|
|
if (clicked.tagName !== 'ION-SEGMENT-BUTTON') {
|
|
return;
|
|
} // If there are no checked buttons, set the current button to checked
|
|
|
|
|
|
if (!checked) {
|
|
this.value = clicked.value;
|
|
this.setCheckedClasses();
|
|
} // If the gesture began on the clicked button with the indicator
|
|
// then we should activate the indicator
|
|
|
|
|
|
if (this.value === clicked.value) {
|
|
this.setActivated(true);
|
|
}
|
|
}
|
|
|
|
getIndicator(button) {
|
|
const root = button.shadowRoot || button;
|
|
return root.querySelector('.segment-button-indicator');
|
|
}
|
|
|
|
checkButton(previous, current) {
|
|
const previousIndicator = this.getIndicator(previous);
|
|
const currentIndicator = this.getIndicator(current);
|
|
|
|
if (previousIndicator === null || currentIndicator === null) {
|
|
return;
|
|
}
|
|
|
|
const previousClientRect = previousIndicator.getBoundingClientRect();
|
|
const currentClientRect = currentIndicator.getBoundingClientRect();
|
|
const widthDelta = previousClientRect.width / currentClientRect.width;
|
|
const xPosition = previousClientRect.left - currentClientRect.left; // Scale the indicator width to match the previous indicator width
|
|
// and translate it on top of the previous indicator
|
|
|
|
const transform = `translate3d(${xPosition}px, 0, 0) scaleX(${widthDelta})`;
|
|
(0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.c)(() => {
|
|
// Remove the transition before positioning on top of the previous indicator
|
|
currentIndicator.classList.remove('segment-button-indicator-animated');
|
|
currentIndicator.style.setProperty('transform', transform); // Force a repaint to ensure the transform happens
|
|
|
|
currentIndicator.getBoundingClientRect(); // Add the transition to move the indicator into place
|
|
|
|
currentIndicator.classList.add('segment-button-indicator-animated'); // Remove the transform to slide the indicator back to the button clicked
|
|
|
|
currentIndicator.style.setProperty('transform', '');
|
|
});
|
|
this.value = current.value;
|
|
this.setCheckedClasses();
|
|
}
|
|
|
|
setCheckedClasses() {
|
|
const buttons = this.getButtons();
|
|
const index = buttons.findIndex(button => button.value === this.value);
|
|
const next = index + 1; // Keep track of the currently checked button
|
|
|
|
this.checked = buttons.find(button => button.value === this.value);
|
|
|
|
for (const button of buttons) {
|
|
button.classList.remove('segment-button-after-checked');
|
|
}
|
|
|
|
if (next < buttons.length) {
|
|
buttons[next].classList.add('segment-button-after-checked');
|
|
}
|
|
}
|
|
|
|
setNextIndex(detail, isEnd = false) {
|
|
const rtl = (0,_dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_4__.i)(this.el);
|
|
const activated = this.activated;
|
|
const buttons = this.getButtons();
|
|
const index = buttons.findIndex(button => button.value === this.value);
|
|
const previous = buttons[index];
|
|
let current;
|
|
let nextIndex;
|
|
|
|
if (index === -1) {
|
|
return;
|
|
} // Get the element that the touch event started on in case
|
|
// it was the checked button, then we will move the indicator
|
|
|
|
|
|
const rect = previous.getBoundingClientRect();
|
|
const left = rect.left;
|
|
const width = rect.width; // Get the element that the gesture is on top of based on the currentX of the
|
|
// gesture event and the Y coordinate of the starting element, since the gesture
|
|
// can move up and down off of the segment
|
|
|
|
const currentX = detail.currentX;
|
|
const previousY = rect.top + rect.height / 2;
|
|
/**
|
|
* Segment can be used inside the shadow dom
|
|
* so doing document.elementFromPoint would never
|
|
* return a segment button in that instance.
|
|
* We use getRootNode to which will return the parent
|
|
* shadow root if used inside a shadow component and
|
|
* returns document otherwise.
|
|
*/
|
|
|
|
const root = this.el.getRootNode();
|
|
const nextEl = root.elementFromPoint(currentX, previousY);
|
|
const decreaseIndex = rtl ? currentX > left + width : currentX < left;
|
|
const increaseIndex = rtl ? currentX < left : currentX > left + width; // If the indicator is currently activated then we have started the gesture
|
|
// on top of the checked button so we need to slide the indicator
|
|
// by checking the button next to it as we move
|
|
|
|
if (activated && !isEnd) {
|
|
// Decrease index, move left in LTR & right in RTL
|
|
if (decreaseIndex) {
|
|
const newIndex = index - 1;
|
|
|
|
if (newIndex >= 0) {
|
|
nextIndex = newIndex;
|
|
} // Increase index, moves right in LTR & left in RTL
|
|
|
|
} else if (increaseIndex) {
|
|
if (activated && !isEnd) {
|
|
const newIndex = index + 1;
|
|
|
|
if (newIndex < buttons.length) {
|
|
nextIndex = newIndex;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (nextIndex !== undefined && !buttons[nextIndex].disabled) {
|
|
current = buttons[nextIndex];
|
|
}
|
|
} // If the indicator is not activated then we will just set the indicator
|
|
// to the element where the gesture ended
|
|
|
|
|
|
if (!activated && isEnd) {
|
|
current = nextEl;
|
|
}
|
|
|
|
if (current != null) {
|
|
/**
|
|
* If current element is ion-segment then that means
|
|
* user tried to select a disabled ion-segment-button,
|
|
* and we should not update the ripple.
|
|
*/
|
|
if (current.tagName === 'ION-SEGMENT') {
|
|
return false;
|
|
}
|
|
|
|
if (previous !== current) {
|
|
this.checkButton(previous, current);
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
emitStyle() {
|
|
this.ionStyle.emit({
|
|
segment: true
|
|
});
|
|
}
|
|
|
|
onKeyDown(ev) {
|
|
const rtl = (0,_dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_4__.i)(this.el);
|
|
let keyDownSelectsButton = this.selectOnFocus;
|
|
let current;
|
|
|
|
switch (ev.key) {
|
|
case 'ArrowRight':
|
|
ev.preventDefault();
|
|
current = rtl ? this.getSegmentButton('previous') : this.getSegmentButton('next');
|
|
break;
|
|
|
|
case 'ArrowLeft':
|
|
ev.preventDefault();
|
|
current = rtl ? this.getSegmentButton('next') : this.getSegmentButton('previous');
|
|
break;
|
|
|
|
case 'Home':
|
|
ev.preventDefault();
|
|
current = this.getSegmentButton('first');
|
|
break;
|
|
|
|
case 'End':
|
|
ev.preventDefault();
|
|
current = this.getSegmentButton('last');
|
|
break;
|
|
|
|
case ' ':
|
|
case 'Enter':
|
|
ev.preventDefault();
|
|
current = document.activeElement;
|
|
keyDownSelectsButton = true;
|
|
}
|
|
|
|
if (!current) {
|
|
return;
|
|
}
|
|
|
|
if (keyDownSelectsButton) {
|
|
const previous = this.checked || current;
|
|
this.checkButton(previous, current);
|
|
}
|
|
|
|
current.setFocus();
|
|
}
|
|
|
|
render() {
|
|
const mode = (0,_ionic_global_c74e4951_js__WEBPACK_IMPORTED_MODULE_2__.b)(this);
|
|
return (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)(_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.H, {
|
|
role: "tablist",
|
|
onClick: this.onClick,
|
|
class: (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__.c)(this.color, {
|
|
[mode]: true,
|
|
'in-toolbar': (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__.h)('ion-toolbar', this.el),
|
|
'in-toolbar-color': (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__.h)('ion-toolbar[color]', this.el),
|
|
'segment-activated': this.activated,
|
|
'segment-disabled': this.disabled,
|
|
'segment-scrollable': this.scrollable
|
|
})
|
|
}, (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("slot", null));
|
|
}
|
|
|
|
get el() {
|
|
return (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.i)(this);
|
|
}
|
|
|
|
static get watchers() {
|
|
return {
|
|
"color": ["colorChanged"],
|
|
"swipeGesture": ["swipeGestureChanged"],
|
|
"value": ["valueChanged"],
|
|
"disabled": ["disabledChanged"]
|
|
};
|
|
}
|
|
|
|
};
|
|
Segment.style = {
|
|
ios: segmentIosCss,
|
|
md: segmentMdCss
|
|
};
|
|
const segmentButtonIosCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color, #fff));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\"\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:2px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}}.segment-button-indicator{padding-left:2px;padding-right:2px;left:0;right:0;top:0;bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.segment-button-indicator{padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}.segment-button-indicator-background{border-radius:var(--border-radius);background:var(--indicator-color)}.segment-button-indicator-background{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color, #fff))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color, #fff)))}:host(.in-toolbar-color) .segment-button-indicator-background{background:var(--ion-color-contrast)}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}";
|
|
const segmentButtonMdCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;max-width:360px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #3880ff));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:8px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}";
|
|
let ids = 0;
|
|
const SegmentButton = class {
|
|
constructor(hostRef) {
|
|
(0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.r)(this, hostRef);
|
|
this.segmentEl = null;
|
|
this.inheritedAttributes = {};
|
|
this.checked = false;
|
|
/**
|
|
* If `true`, the user cannot interact with the segment button.
|
|
*/
|
|
|
|
this.disabled = false;
|
|
/**
|
|
* Set the layout of the text and icon in the segment.
|
|
*/
|
|
|
|
this.layout = 'icon-top';
|
|
/**
|
|
* The type of the button.
|
|
*/
|
|
|
|
this.type = 'button';
|
|
/**
|
|
* The value of the segment button.
|
|
*/
|
|
|
|
this.value = 'ion-sb-' + ids++;
|
|
|
|
this.updateStyle = () => {
|
|
(0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.j)(this);
|
|
};
|
|
|
|
this.updateState = () => {
|
|
if (this.segmentEl) {
|
|
this.checked = this.segmentEl.value === this.value;
|
|
}
|
|
};
|
|
}
|
|
|
|
valueChanged() {
|
|
this.updateState();
|
|
}
|
|
|
|
connectedCallback() {
|
|
const segmentEl = this.segmentEl = this.el.closest('ion-segment');
|
|
|
|
if (segmentEl) {
|
|
this.updateState();
|
|
(0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__.a)(segmentEl, 'ionSelect', this.updateState);
|
|
(0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__.a)(segmentEl, 'ionStyle', this.updateStyle);
|
|
}
|
|
}
|
|
|
|
disconnectedCallback() {
|
|
const segmentEl = this.segmentEl;
|
|
|
|
if (segmentEl) {
|
|
(0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__.b)(segmentEl, 'ionSelect', this.updateState);
|
|
(0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__.b)(segmentEl, 'ionStyle', this.updateStyle);
|
|
this.segmentEl = null;
|
|
}
|
|
}
|
|
|
|
componentWillLoad() {
|
|
this.inheritedAttributes = Object.assign({}, (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_3__.j)(this.el, ['aria-label']));
|
|
}
|
|
|
|
get hasLabel() {
|
|
return !!this.el.querySelector('ion-label');
|
|
}
|
|
|
|
get hasIcon() {
|
|
return !!this.el.querySelector('ion-icon');
|
|
}
|
|
/**
|
|
* @internal
|
|
* Focuses the native <button> element
|
|
* inside of ion-segment-button.
|
|
*/
|
|
|
|
|
|
setFocus() {
|
|
var _this2 = this;
|
|
|
|
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
|
const {
|
|
nativeEl
|
|
} = _this2;
|
|
|
|
if (nativeEl !== undefined) {
|
|
nativeEl.focus();
|
|
}
|
|
})();
|
|
}
|
|
|
|
render() {
|
|
const {
|
|
checked,
|
|
type,
|
|
disabled,
|
|
hasIcon,
|
|
hasLabel,
|
|
layout,
|
|
segmentEl
|
|
} = this;
|
|
const mode = (0,_ionic_global_c74e4951_js__WEBPACK_IMPORTED_MODULE_2__.b)(this);
|
|
|
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
|
|
return (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)(_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.H, {
|
|
class: {
|
|
[mode]: true,
|
|
'in-toolbar': (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__.h)('ion-toolbar', this.el),
|
|
'in-toolbar-color': (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__.h)('ion-toolbar[color]', this.el),
|
|
'in-segment': (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_5__.h)('ion-segment', this.el),
|
|
'in-segment-color': hasSegmentColor(),
|
|
'segment-button-has-label': hasLabel,
|
|
'segment-button-has-icon': hasIcon,
|
|
'segment-button-has-label-only': hasLabel && !hasIcon,
|
|
'segment-button-has-icon-only': hasIcon && !hasLabel,
|
|
'segment-button-disabled': disabled,
|
|
'segment-button-checked': checked,
|
|
[`segment-button-layout-${layout}`]: true,
|
|
'ion-activatable': true,
|
|
'ion-activatable-instant': true,
|
|
'ion-focusable': true
|
|
}
|
|
}, (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("button", Object.assign({
|
|
"aria-selected": checked ? 'true' : 'false',
|
|
role: "tab",
|
|
ref: el => this.nativeEl = el,
|
|
type: type,
|
|
class: "button-native",
|
|
part: "native",
|
|
disabled: disabled
|
|
}, this.inheritedAttributes), (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("span", {
|
|
class: "button-inner"
|
|
}, (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("slot", null)), mode === 'md' && (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-ripple-effect", null)), (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
|
part: "indicator",
|
|
class: {
|
|
'segment-button-indicator': true,
|
|
'segment-button-indicator-animated': true
|
|
}
|
|
}, (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
|
part: "indicator-background",
|
|
class: "segment-button-indicator-background"
|
|
})));
|
|
}
|
|
|
|
get el() {
|
|
return (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_1__.i)(this);
|
|
}
|
|
|
|
static get watchers() {
|
|
return {
|
|
"value": ["valueChanged"]
|
|
};
|
|
}
|
|
|
|
};
|
|
SegmentButton.style = {
|
|
ios: segmentButtonIosCss,
|
|
md: segmentButtonMdCss
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 50320:
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/@ionic/core/dist/esm/theme-7670341c.js ***!
|
|
\*************************************************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "c": () => (/* binding */ createColorClasses),
|
|
/* harmony export */ "g": () => (/* binding */ getClassMap),
|
|
/* harmony export */ "h": () => (/* binding */ hostContext),
|
|
/* harmony export */ "o": () => (/* binding */ openURL)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 71670);
|
|
|
|
|
|
/*!
|
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
*/
|
|
const hostContext = (selector, el) => {
|
|
return el.closest(selector) !== null;
|
|
};
|
|
/**
|
|
* Create the mode and color classes for the component based on the classes passed in
|
|
*/
|
|
|
|
|
|
const createColorClasses = (color, cssClassMap) => {
|
|
return typeof color === 'string' && color.length > 0 ? Object.assign({
|
|
'ion-color': true,
|
|
[`ion-color-${color}`]: true
|
|
}, cssClassMap) : cssClassMap;
|
|
};
|
|
|
|
const getClassList = classes => {
|
|
if (classes !== undefined) {
|
|
const array = Array.isArray(classes) ? classes : classes.split(' ');
|
|
return array.filter(c => c != null).map(c => c.trim()).filter(c => c !== '');
|
|
}
|
|
|
|
return [];
|
|
};
|
|
|
|
const getClassMap = classes => {
|
|
const map = {};
|
|
getClassList(classes).forEach(c => map[c] = true);
|
|
return map;
|
|
};
|
|
|
|
const SCHEME = /^[a-z][a-z0-9+\-.]*:/;
|
|
|
|
const openURL = /*#__PURE__*/function () {
|
|
var _ref = (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (url, ev, direction, animation) {
|
|
if (url != null && url[0] !== '#' && !SCHEME.test(url)) {
|
|
const router = document.querySelector('ion-router');
|
|
|
|
if (router) {
|
|
if (ev != null) {
|
|
ev.preventDefault();
|
|
}
|
|
|
|
return router.push(url, direction, animation);
|
|
}
|
|
}
|
|
|
|
return false;
|
|
});
|
|
|
|
return function openURL(_x, _x2, _x3, _x4) {
|
|
return _ref.apply(this, arguments);
|
|
};
|
|
}();
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
}])
|
|
//# sourceMappingURL=1938.js.map
|