{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/utils/date.js","webpack:///./src/views/apps/help-desk/users-active/UserListEdit.vue?cc34","webpack:///src/views/apps/help-desk/users-active/UserListEdit.vue","webpack:///./src/views/apps/help-desk/users-active/UserListEdit.vue?83ef","webpack:///./src/views/apps/help-desk/users-active/UserListEdit.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/time.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/form-timepicker.js","webpack:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/form-spinbutton.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/constants/date.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/calendar.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/hover.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-btn-label-control/bv-form-btn-label-control.js"],"names":["_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","err","isArray","_construct","Parent","args","Class","_isNativeReflectConstruct","Reflect","construct","a","apply","Constructor","Function","bind","instance","_setPrototypeOf","arguments","sham","Proxy","Date","e","p","setPrototypeOf","__proto__","createDate","_len","_key","parseYMD","date","trim","_date$split$map","split","map","v","_date$split$map2","year","month","day","getFullYear","getMonth","getDate","formatYMD","concat","resolveLocale","locales","calendar","filter","fmt","Intl","DateTimeFormat","resolvedOptions","locale","createDateFormatter","options","dtf","format","datesEqual","date1","date2","firstDateOfMonth","setDate","lastDateOfMonth","setMonth","addYears","numberOfYears","setFullYear","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","oneDecadeAgo","oneDecadeAhead","constrainDate","min","max","render","_vm","this","_h","$createElement","_c","_self","attrs","_v","$t","ref","scopedSlots","_u","key","fn","handleSubmit","on","$event","preventDefault","onSubmit","resetForm","errors","$store","state","appConfig","isRTL","helpDeskUsers","option","id","model","activityData","callback","$$v","$set","expression","validationContext","getValidationState","staticClass","directives","rawName","modifiers","staticRenderFns","components","BCard","BCardHeader","BCardBody","BRow","BCol","BForm","BFormDatepicker","BFormTimepicker","BButton","BSpinner","BFormGroup","BFormInvalidFeedback","vSelect","ValidationObserver","ValidationProvider","Ripple","data","required","setup","usuarioActivoId","nombreUsuario","fechaInicio","fechaFin","horaInicio","horaFin","JSON","parse","stringify","blankActivity","fetchTextOptions","fetchActivityUser","router","inicio","fin","addingActivity","updateActivityUser","resetActivityData","users","refFormObserver","component","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","title","trigger","placement","fallbackPlacement","container","animation","offset","html","interactive","disabled","delay","boundary","String","boundaryPadding","variant","customClass","show","hide","arg","mod","selectedTriggers","join","toLowerCase","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","componentUpdated","$nextTick","unbind","_watch","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","MODEL_EVENT_NAME","event","NUMERIC","padLeftZeros","hh","mm","ss","_value$split$map","_value$split$map2","hours","minutes","seconds","ampm","_ref","requireSeconds","hms","ariaLabelledby","hidden","hideHeader","hour12","labelAm","labelAmpm","labelHours","labelMinutes","labelNoTimeSelected","labelPm","labelSeconds","labelSelected","minutesStep","readonly","secondsStep","showSeconds","BTime","extend","mixins","parsed","modelHours","modelMinutes","modelSeconds","modelAmpm","isLive","computed","computedHMS","identity","hour","minute","second","resolved","hourCycle","computedLocale","computedLang","replace","computedRTL","computedHourCycle","is12Hour","formatted","formattedTimeString","valueId","safeId","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","nf","NumberFormat","style","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","UTC","spinScopedSlots","h","increment","_ref2","hasFocus","scale","decrement","_ref3","flipV","watch","newValue","oldValue","_parseHMS","$emit","_this","newHours","oldHours","created","_this2","mounted","setLive","activated","deactivated","beforeDestroy","methods","$refs","spinners","activeElement","$el","formatHours","formatMinutes","formatSeconds","formatAmpm","setHours","setMinutes","setSeconds","setAmpm","onSpinLeftRight","keyCode","index","cmp","indexOf","_this3","_this4","spinIds","makeSpinbutton","handler","classes","spinbuttonProps","class","placeholder","vertical","labelIncrement","labelDecrement","wrap","ariaControls","change","refInFor","makeColon","shiftV","$spinners","step","formatterFn","ariaLabel","role","tabindex","keydown","currentTarget","$value","for","$header","$slot","normalizeSlot","lang","timeProps","formBtnLabelControlProps","closeButtonVariant","labelCloseButton","labelNowButton","labelResetButton","noCloseButton","nowButton","nowButtonVariant","resetButton","resetButtonVariant","resetValue","localHMS","localLocale","formattedValue","isVisible","control","setAndClose","onInput","onContext","ctx","onNowButton","now","getHours","getMinutes","getSeconds","onResetButton","onCloseButton","onShow","onShown","time","onHidden","defaultButtonFn","isHovered","$props","$footer","label","size","_label","_label2","$time","input","rtl","shown","$scopedSlots","formValidation","resetFormData","clearFormData","resetObserver","reset","dirty","validated","fieldRequired","changed","valid","result","nextTick","clearForm","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","KEY_CODES","inline","repeatDelay","repeatInterval","repeatStepMultiplier","repeatThreshold","BFormSpinbutton","inheritAttrs","localValue","spinId","computedInline","computedReadonly","computedRequired","computedStep","computedMin","computedMax","computedDelay","computedInterval","interval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","toFixed","defaultFormatter","precision","useGrouping","computedFormatter","computedAttrs","bvAttrs","computedSpinAttrs","hasValue","dir","_disabled","clearRepeat","_readonly","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","direction","multiplier","onFocusBlur","stepUp","stepDown","onKeydown","altKey","ctrlKey","metaKey","propagation","resetTimers","handleStepRepeat","onKeyup","stepper","button","threshold","setTimeout","count","setInterval","onMouseup","setMouseup","document","body","_unused","clearTimeout","clearInterval","makeButton","IconCmp","keyRef","shortcut","btnDisabled","slotName","$icon","scope","mousedown","touchstart","$increment","$decrement","$hidden","form","$spin","sizeFormClass","stateClass","keyup","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","els","dropleft","dropright","dropup","noFlip","popperOpts","right","dropdownMixin","provide","bvDropdown","inject","bvNavbar","default","visible","visibleChangePrevented","inNavbar","toggler","toggle","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","emitEvent","defaultPrevented","$off","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","emitOnRoot","warn","createPopper","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","method","$root","rootCloseListener","vm","refocus","$once","_event","onMousedown","onEsc","focusNext","onSplitClick","hideHandler","up","items","getItems","focusItem","find","_this5","CALENDAR_GREGORY","CALENDAR_LONG","CALENDAR_NARROW","CALENDAR_SHORT","DATE_FORMAT_2_DIGIT","DATE_FORMAT_NUMERIC","block","dateDisabledFn","dateFormatOptions","weekday","dateInfoFn","initialDate","labelCalendar","labelCurrentMonth","labelHelp","labelNav","labelNextDecade","labelNextMonth","labelNextYear","labelNoDateSelected","labelPrevDecade","labelPrevMonth","labelPrevYear","labelToday","navButtonVariant","noHighlightToday","noKeyNav","roleDescription","selectedVariant","showDecadeNav","startWeekday","todayVariant","valueAsDate","weekdayHeaderFormat","array","width","BCalendar","selected","selectedYMD","activeYMD","getToday","gridHasFocus","widgetId","navId","gridId","gridCaptionId","gridHelpId","activeId","selectedDate","activeDate","computedWeekStarts","math","computedDateDisabledFn","computedDateInfoFn","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedVariant","computedTodayVariant","computedNavButtonVariant","selectedFormatted","formatDateString","activeFormatted","dateDisabled","dateOutOfRange","rangeFn","ymd","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","j","dayYMD","dayDisabled","dateInfo","isThisMonth","isDisabled","info","calendarHeadings","d","text","old","newYMD","oldYMD","grid","emitSelected","setGridFocusFlag","onKeydownWrapper","checkDate","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","_this6","hideDecadeNav","todayYMD","highlightToday","labelSelectedDate","navScope","navProps","navPrevProps","flipH","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","content","$nav","$gridCaption","$gridWeekDays","idx","$gridBody","$cells","dIndex","_class","isSelected","isActive","isToday","idCell","$btn","active","pointerEvents","$gridHelp","$grid","$widget","calendarProps","calendarWidth","closeButton","dark","labelTodayButton","noCloseOnSelect","todayButton","todayButtonVariant","localYMD","calendarYM","computedResetValue","onSelected","onTodayButton","$calendar","menuClass","PROP","MOUSEENTER","MOUSELEAVE","createListener","listener","_ref$value","hasListener","handlerChanged","VBHover","dropdown","buttonOnly","buttonVariant","BVFormBtnLabelControl","idButton","idLabel","idMenu","idWrapper","computedDir","setFocus","handleHover","hovered","invalid","btnScope","opened","$button","hasNormalizedSlot","$menu","$label"],"mappings":"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","file":"js/chunk-2d46d6a8.7513cb0e.js","sourcesContent":["function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n// Date utility functions\nimport { CALENDAR_GREGORY } from '../constants/date';\nimport { RX_DATE, RX_DATE_SPLIT } from '../constants/regex';\nimport { concat } from './array';\nimport { identity } from './identity';\nimport { isDate, isString } from './inspect';\nimport { toInteger } from './number'; // --- Date utility methods ---\n// Create or clone a date (`new Date(...)` shortcut)\n\nexport var createDate = function createDate() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(Date, args);\n}; // Parse a date sting, or Date object, into a Date object (with no time information)\n\nexport var parseYMD = function parseYMD(date) {\n if (isString(date) && RX_DATE.test(date.trim())) {\n var _date$split$map = date.split(RX_DATE_SPLIT).map(function (v) {\n return toInteger(v, 1);\n }),\n _date$split$map2 = _slicedToArray(_date$split$map, 3),\n year = _date$split$map2[0],\n month = _date$split$map2[1],\n day = _date$split$map2[2];\n\n return createDate(year, month - 1, day);\n } else if (isDate(date)) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n return null;\n}; // Format a date object as `YYYY-MM-DD` format\n\nexport var formatYMD = function formatYMD(date) {\n date = parseYMD(date);\n\n if (!date) {\n return null;\n }\n\n var year = date.getFullYear();\n var month = \"0\".concat(date.getMonth() + 1).slice(-2);\n var day = \"0\".concat(date.getDate()).slice(-2);\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n}; // Given a locale (or locales), resolve the browser available locale\n\nexport var resolveLocale = function resolveLocale(locales)\n/* istanbul ignore next */\n{\n var calendar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : CALENDAR_GREGORY;\n locales = concat(locales).filter(identity);\n var fmt = new Intl.DateTimeFormat(locales, {\n calendar: calendar\n });\n return fmt.resolvedOptions().locale;\n}; // Create a `Intl.DateTimeFormat` formatter function\n\nexport var createDateFormatter = function createDateFormatter(locale, options)\n/* istanbul ignore next */\n{\n var dtf = new Intl.DateTimeFormat(locale, options);\n return dtf.format;\n}; // Determine if two dates are the same date (ignoring time portion)\n\nexport var datesEqual = function datesEqual(date1, date2) {\n // Returns true of the date portion of two date objects are equal\n // We don't compare the time portion\n return formatYMD(date1) === formatYMD(date2);\n}; // --- Date \"math\" utility methods (for BCalendar component mainly) ---\n\nexport var firstDateOfMonth = function firstDateOfMonth(date) {\n date = createDate(date);\n date.setDate(1);\n return date;\n};\nexport var lastDateOfMonth = function lastDateOfMonth(date) {\n date = createDate(date);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n return date;\n};\nexport var addYears = function addYears(date, numberOfYears) {\n date = createDate(date);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear() + numberOfYears); // Handle Feb 29th for leap years\n\n if (date.getMonth() !== month) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneMonthAgo = function oneMonthAgo(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month - 1); // Handle when days in month are different\n\n if (date.getMonth() === month) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneMonthAhead = function oneMonthAhead(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month + 1); // Handle when days in month are different\n\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0);\n }\n\n return date;\n};\nexport var oneYearAgo = function oneYearAgo(date) {\n return addYears(date, -1);\n};\nexport var oneYearAhead = function oneYearAhead(date) {\n return addYears(date, 1);\n};\nexport var oneDecadeAgo = function oneDecadeAgo(date) {\n return addYears(date, -10);\n};\nexport var oneDecadeAhead = function oneDecadeAhead(date) {\n return addYears(date, 10);\n}; // Helper function to constrain a date between two values\n// Always returns a `Date` object or `null` if no date passed\n\nexport var constrainDate = function constrainDate(date) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n // Ensure values are `Date` objects (or `null`)\n date = parseYMD(date);\n min = parseYMD(min) || date;\n max = parseYMD(max) || date; // Return a new `Date` object (or `null`)\n\n return date ? date < min ? min : date > max ? max : date : null;\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('b-card-header',[_c('h2',[_c('feather-icon',{attrs:{\"icon\":\"LayersIcon\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"AppHelpDesk.activeUsers.edit\"))+\" \")],1)]),_c('b-card-body',[_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('AppHelpDesk.columns.user'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-group',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"AppHelpDesk.columns.user\")))]),_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":true,\"label\":\"texto\",\"options\":_vm.helpDeskUsers,\"reduce\":function (option) { return option.id; }},model:{value:(_vm.activityData.nombreUsuario),callback:function ($$v) {_vm.$set(_vm.activityData, \"nombreUsuario\", $$v)},expression:\"activityData.nombreUsuario\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":errors.length > 0 ? false : null}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")])],1)]}}],null,true)})],1)],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t(\"AppHelpDesk.columns.shiftStart\")))])])],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('AppHelpDesk.columns.startDate'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',[_c('b-form-datepicker',{attrs:{\"id\":\"fecha-inicio\",\"today-button\":\"\",\"close-button\":\"\",\"min\":_vm.min,\"locale\":\"es\",\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.activityData.fechaInicio),callback:function ($$v) {_vm.$set(_vm.activityData, \"fechaInicio\", $$v)},expression:\"activityData.fechaInicio\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)})],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('AppHelpDesk.columns.startTime'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',[_c('b-form-timepicker',{attrs:{\"id\":\"hora-inicio\",\"locale\":\"es\",\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.activityData.horaInicio),callback:function ($$v) {_vm.$set(_vm.activityData, \"horaInicio\", $$v)},expression:\"activityData.horaInicio\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)})],1)],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t(\"AppHelpDesk.columns.shiftEnd\")))])])],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('AppHelpDesk.columns.endDate'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',[_c('b-form-datepicker',{attrs:{\"id\":\"fecha-fin\",\"today-button\":\"\",\"close-button\":\"\",\"min\":_vm.min,\"locale\":\"es\",\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.activityData.fechaFin),callback:function ($$v) {_vm.$set(_vm.activityData, \"fechaFin\", $$v)},expression:\"activityData.fechaFin\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)})],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('AppHelpDesk.columns.endTime'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',[_c('b-form-timepicker',{attrs:{\"id\":\"hora-fin\",\"locale\":\"es\",\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.activityData.horaFin),callback:function ($$v) {_vm.$set(_vm.activityData, \"horaFin\", $$v)},expression:\"activityData.horaFin\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)})],1)],1),_c('b-row',{staticClass:\"float-right mt-2 mb-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"type\":\"submit\"}},[(_vm.addingActivity)?_c('b-spinner',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t(\"Lists.Edit\"))+\" \")],1)],1)],1)]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListEdit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListEdit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserListEdit.vue?vue&type=template&id=3cbd1792&\"\nimport script from \"./UserListEdit.vue?vue&type=script&lang=js&\"\nexport * from \"./UserListEdit.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// BTime control (not form input control)\nimport { Vue } from '../../vue';\nimport { NAME_TIME } from '../../constants/components';\nimport { EVENT_NAME_CONTEXT } from '../../constants/events';\nimport { CODE_LEFT, CODE_RIGHT } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_TIME } from '../../constants/regex';\nimport { concat } from '../../utils/array';\nimport { createDate, createDateFormatter } from '../../utils/date';\nimport { attemptBlur, attemptFocus, contains, getActiveElement, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isNull, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BFormSpinbutton, props as BFormSpinbuttonProps } from '../form-spinbutton/form-spinbutton';\nimport { BIconCircleFill, BIconChevronUp } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_STRING,\n defaultValue: ''\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar NUMERIC = 'numeric'; // --- Helper methods ---\n\nvar padLeftZeros = function padLeftZeros(value) {\n return \"00\".concat(value || '').slice(-2);\n};\n\nvar parseHMS = function parseHMS(value) {\n value = toString(value);\n var hh = null,\n mm = null,\n ss = null;\n\n if (RX_TIME.test(value)) {\n ;\n\n var _value$split$map = value.split(':').map(function (v) {\n return toInteger(v, null);\n });\n\n var _value$split$map2 = _slicedToArray(_value$split$map, 3);\n\n hh = _value$split$map2[0];\n mm = _value$split$map2[1];\n ss = _value$split$map2[2];\n }\n\n return {\n hours: isUndefinedOrNull(hh) ? null : hh,\n minutes: isUndefinedOrNull(mm) ? null : mm,\n seconds: isUndefinedOrNull(ss) ? null : ss,\n ampm: isUndefinedOrNull(hh) || hh < 12 ? 0 : 1\n };\n};\n\nvar formatHMS = function formatHMS(_ref) {\n var hours = _ref.hours,\n minutes = _ref.minutes,\n seconds = _ref.seconds;\n var requireSeconds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isNull(hours) || isNull(minutes) || requireSeconds && isNull(seconds)) {\n return '';\n }\n\n var hms = [hours, minutes, requireSeconds ? seconds : 0];\n return hms.map(padLeftZeros).join(':');\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), pick(BFormSpinbuttonProps, ['labelIncrement', 'labelDecrement'])), {}, {\n // ID of label element\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n hidden: makeProp(PROP_TYPE_BOOLEAN, false),\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // Explicitly force 12 or 24 hour time\n // Default is to use resolved locale for 12/24 hour display\n // Tri-state: `true` = 12, `false` = 24, `null` = auto\n hour12: makeProp(PROP_TYPE_BOOLEAN, null),\n labelAm: makeProp(PROP_TYPE_STRING, 'AM'),\n labelAmpm: makeProp(PROP_TYPE_STRING, 'AM/PM'),\n labelHours: makeProp(PROP_TYPE_STRING, 'Hours'),\n labelMinutes: makeProp(PROP_TYPE_STRING, 'Minutes'),\n labelNoTimeSelected: makeProp(PROP_TYPE_STRING, 'No time selected'),\n labelPm: makeProp(PROP_TYPE_STRING, 'PM'),\n labelSeconds: makeProp(PROP_TYPE_STRING, 'Seconds'),\n labelSelected: makeProp(PROP_TYPE_STRING, 'Selected time'),\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n minutesStep: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n secondsStep: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n // If `true`, show the second spinbutton\n showSeconds: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_TIME); // --- Main component ---\n// @vue/component\n\nexport var BTime = /*#__PURE__*/Vue.extend({\n name: NAME_TIME,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n var parsed = parseHMS(this[MODEL_PROP_NAME] || '');\n return {\n // Spin button models\n modelHours: parsed.hours,\n modelMinutes: parsed.minutes,\n modelSeconds: parsed.seconds,\n modelAmpm: parsed.ampm,\n // Internal flag to enable aria-live regions\n isLive: false\n };\n },\n computed: {\n computedHMS: function computedHMS() {\n var hours = this.modelHours;\n var minutes = this.modelMinutes;\n var seconds = this.modelSeconds;\n return formatHMS({\n hours: hours,\n minutes: minutes,\n seconds: seconds\n }, this.showSeconds);\n },\n resolvedOptions: function resolvedOptions() {\n // Resolved locale options\n var locale = concat(this.locale).filter(identity);\n var options = {\n hour: NUMERIC,\n minute: NUMERIC,\n second: NUMERIC\n };\n\n if (!isUndefinedOrNull(this.hour12)) {\n // Force 12 or 24 hour clock\n options.hour12 = !!this.hour12;\n }\n\n var dtf = new Intl.DateTimeFormat(locale, options);\n var resolved = dtf.resolvedOptions();\n var hour12 = resolved.hour12 || false; // IE 11 doesn't resolve the hourCycle, so we make\n // an assumption and fall back to common values\n\n var hourCycle = resolved.hourCycle || (hour12 ? 'h12' : 'h23');\n return {\n locale: resolved.locale,\n hour12: hour12,\n hourCycle: hourCycle\n };\n },\n computedLocale: function computedLocale() {\n return this.resolvedOptions.locale;\n },\n computedLang: function computedLang() {\n return (this.computedLocale || '').replace(/-u-.*$/, '');\n },\n computedRTL: function computedRTL() {\n return isLocaleRTL(this.computedLang);\n },\n computedHourCycle: function computedHourCycle() {\n // h11, h12, h23, or h24\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Locale/hourCycle\n // h12 - Hour system using 1–12. Corresponds to 'h' in patterns. The 12 hour clock, with midnight starting at 12:00 am\n // h23 - Hour system using 0–23. Corresponds to 'H' in patterns. The 24 hour clock, with midnight starting at 0:00\n // h11 - Hour system using 0–11. Corresponds to 'K' in patterns. The 12 hour clock, with midnight starting at 0:00 am\n // h24 - Hour system using 1–24. Corresponds to 'k' in pattern. The 24 hour clock, with midnight starting at 24:00\n // For h12 or h24, we visually format 00 hours as 12\n return this.resolvedOptions.hourCycle;\n },\n is12Hour: function is12Hour() {\n return !!this.resolvedOptions.hour12;\n },\n context: function context() {\n return {\n locale: this.computedLocale,\n isRTL: this.computedRTL,\n hourCycle: this.computedHourCycle,\n hour12: this.is12Hour,\n hours: this.modelHours,\n minutes: this.modelMinutes,\n seconds: this.showSeconds ? this.modelSeconds : 0,\n value: this.computedHMS,\n formatted: this.formattedTimeString\n };\n },\n valueId: function valueId() {\n return this.safeId() || null;\n },\n computedAriaLabelledby: function computedAriaLabelledby() {\n return [this.ariaLabelledby, this.valueId].filter(identity).join(' ') || null;\n },\n timeFormatter: function timeFormatter() {\n // Returns a formatter function reference\n // The formatter converts the time to a localized string\n var options = {\n hour12: this.is12Hour,\n hourCycle: this.computedHourCycle,\n hour: NUMERIC,\n minute: NUMERIC,\n timeZone: 'UTC'\n };\n\n if (this.showSeconds) {\n options.second = NUMERIC;\n } // Formats the time as a localized string\n\n\n return createDateFormatter(this.computedLocale, options);\n },\n numberFormatter: function numberFormatter() {\n // Returns a formatter function reference\n // The formatter always formats as 2 digits and is localized\n var nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n minimumIntegerDigits: 2,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n });\n return nf.format;\n },\n formattedTimeString: function formattedTimeString() {\n var hours = this.modelHours;\n var minutes = this.modelMinutes;\n var seconds = this.showSeconds ? this.modelSeconds || 0 : 0;\n\n if (this.computedHMS) {\n return this.timeFormatter(createDate(Date.UTC(0, 0, 1, hours, minutes, seconds)));\n }\n\n return this.labelNoTimeSelected || ' ';\n },\n spinScopedSlots: function spinScopedSlots() {\n var h = this.$createElement;\n return {\n increment: function increment(_ref2) {\n var hasFocus = _ref2.hasFocus;\n return h(BIconChevronUp, {\n props: {\n scale: hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n },\n decrement: function decrement(_ref3) {\n var hasFocus = _ref3.hasFocus;\n return h(BIconChevronUp, {\n props: {\n flipV: true,\n scale: hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue && !looseEqual(parseHMS(newValue), parseHMS(this.computedHMS))) {\n var _parseHMS = parseHMS(newValue),\n hours = _parseHMS.hours,\n minutes = _parseHMS.minutes,\n seconds = _parseHMS.seconds,\n ampm = _parseHMS.ampm;\n\n this.modelHours = hours;\n this.modelMinutes = minutes;\n this.modelSeconds = seconds;\n this.modelAmpm = ampm;\n }\n }), _defineProperty(_watch, \"computedHMS\", function computedHMS(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_watch, \"context\", function context(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT, newValue);\n }\n }), _defineProperty(_watch, \"modelAmpm\", function modelAmpm(newValue, oldValue) {\n var _this = this;\n\n if (newValue !== oldValue) {\n var hours = isNull(this.modelHours) ? 0 : this.modelHours;\n this.$nextTick(function () {\n if (newValue === 0 && hours > 11) {\n // Switched to AM\n _this.modelHours = hours - 12;\n } else if (newValue === 1 && hours < 12) {\n // Switched to PM\n _this.modelHours = hours + 12;\n }\n });\n }\n }), _defineProperty(_watch, \"modelHours\", function modelHours(newHours, oldHours) {\n if (newHours !== oldHours) {\n this.modelAmpm = newHours > 11 ? 1 : 0;\n }\n }), _watch),\n created: function created() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.$emit(EVENT_NAME_CONTEXT, _this2.context);\n });\n },\n mounted: function mounted() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.setLive(false);\n },\n beforeDestroy: function beforeDestroy() {\n this.setLive(false);\n },\n methods: {\n // Public methods\n focus: function focus() {\n if (!this.disabled) {\n // We focus the first spin button\n attemptFocus(this.$refs.spinners[0]);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n var activeElement = getActiveElement();\n\n if (contains(this.$el, activeElement)) {\n attemptBlur(activeElement);\n }\n }\n },\n // Formatters for the spin buttons\n formatHours: function formatHours(hh) {\n var hourCycle = this.computedHourCycle; // We always store 0-23, but format based on h11/h12/h23/h24 formats\n\n hh = this.is12Hour && hh > 12 ? hh - 12 : hh; // Determine how 00:00 and 12:00 are shown\n\n hh = hh === 0 && hourCycle === 'h12' ? 12 : hh === 0 && hourCycle === 'h24' ?\n /* istanbul ignore next */\n 24 : hh === 12 && hourCycle === 'h11' ?\n /* istanbul ignore next */\n 0 : hh;\n return this.numberFormatter(hh);\n },\n formatMinutes: function formatMinutes(mm) {\n return this.numberFormatter(mm);\n },\n formatSeconds: function formatSeconds(ss) {\n return this.numberFormatter(ss);\n },\n formatAmpm: function formatAmpm(ampm) {\n // These should come from label props???\n // `ampm` should always be a value of `0` or `1`\n return ampm === 0 ? this.labelAm : ampm === 1 ? this.labelPm : '';\n },\n // Spinbutton on change handlers\n setHours: function setHours(value) {\n this.modelHours = value;\n },\n setMinutes: function setMinutes(value) {\n this.modelMinutes = value;\n },\n setSeconds: function setSeconds(value) {\n this.modelSeconds = value;\n },\n setAmpm: function setAmpm(value) {\n this.modelAmpm = value;\n },\n onSpinLeftRight: function onSpinLeftRight() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var type = event.type,\n keyCode = event.keyCode;\n\n if (!this.disabled && type === 'keydown' && (keyCode === CODE_LEFT || keyCode === CODE_RIGHT)) {\n stopEvent(event);\n var spinners = this.$refs.spinners || [];\n var index = spinners.map(function (cmp) {\n return !!cmp.hasFocus;\n }).indexOf(true);\n index = index + (keyCode === CODE_LEFT ? -1 : 1);\n index = index >= spinners.length ? 0 : index < 0 ? spinners.length - 1 : index;\n attemptFocus(spinners[index]);\n }\n },\n setLive: function setLive(on) {\n var _this3 = this;\n\n if (on) {\n this.$nextTick(function () {\n requestAF(function () {\n _this3.isLive = true;\n });\n });\n } else {\n this.isLive = false;\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n /* istanbul ignore if */\n if (this.hidden) {\n // If hidden, we just render a placeholder comment\n return h();\n }\n\n var valueId = this.valueId;\n var computedAriaLabelledby = this.computedAriaLabelledby;\n var spinIds = []; // Helper method to render a spinbutton\n\n var makeSpinbutton = function makeSpinbutton(handler, key, classes) {\n var spinbuttonProps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var id = _this4.safeId(\"_spinbutton_\".concat(key, \"_\")) || null;\n spinIds.push(id);\n return h(BFormSpinbutton, {\n class: classes,\n props: _objectSpread({\n id: id,\n placeholder: '--',\n vertical: true,\n required: true,\n disabled: _this4.disabled,\n readonly: _this4.readonly,\n locale: _this4.computedLocale,\n labelIncrement: _this4.labelIncrement,\n labelDecrement: _this4.labelDecrement,\n wrap: true,\n ariaControls: valueId,\n min: 0\n }, spinbuttonProps),\n scopedSlots: _this4.spinScopedSlots,\n on: {\n // We use `change` event to minimize SR verbosity\n // As the spinbutton will announce each value change\n // and we don't want the formatted time to be announced\n // on each value input if repeat is happening\n change: handler\n },\n key: key,\n ref: 'spinners',\n refInFor: true\n });\n }; // Helper method to return a \"colon\" separator\n\n\n var makeColon = function makeColon() {\n return h('div', {\n staticClass: 'd-flex flex-column',\n class: {\n 'text-muted': _this4.disabled || _this4.readonly\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n }, [h(BIconCircleFill, {\n props: {\n shiftV: 4,\n scale: 0.5\n }\n }), h(BIconCircleFill, {\n props: {\n shiftV: -4,\n scale: 0.5\n }\n })]);\n };\n\n var $spinners = []; // Hours\n\n $spinners.push(makeSpinbutton(this.setHours, 'hours', 'b-time-hours', {\n value: this.modelHours,\n max: 23,\n step: 1,\n formatterFn: this.formatHours,\n ariaLabel: this.labelHours\n })); // Spacer\n\n $spinners.push(makeColon()); // Minutes\n\n $spinners.push(makeSpinbutton(this.setMinutes, 'minutes', 'b-time-minutes', {\n value: this.modelMinutes,\n max: 59,\n step: this.minutesStep || 1,\n formatterFn: this.formatMinutes,\n ariaLabel: this.labelMinutes\n }));\n\n if (this.showSeconds) {\n // Spacer\n $spinners.push(makeColon()); // Seconds\n\n $spinners.push(makeSpinbutton(this.setSeconds, 'seconds', 'b-time-seconds', {\n value: this.modelSeconds,\n max: 59,\n step: this.secondsStep || 1,\n formatterFn: this.formatSeconds,\n ariaLabel: this.labelSeconds\n }));\n } // AM/PM ?\n\n\n if (this.is12Hour) {\n // TODO:\n // If locale is RTL, unshift this instead of push?\n // And switch class `ml-2` to `mr-2`\n // Note some LTR locales (i.e. zh) also place AM/PM to the left\n $spinners.push(makeSpinbutton(this.setAmpm, 'ampm', 'b-time-ampm', {\n value: this.modelAmpm,\n max: 1,\n formatterFn: this.formatAmpm,\n ariaLabel: this.labelAmpm,\n // We set `required` as `false`, since this always has a value\n required: false\n }));\n } // Assemble spinners\n\n\n $spinners = h('div', {\n staticClass: 'd-flex align-items-center justify-content-center mx-auto',\n attrs: {\n role: 'group',\n tabindex: this.disabled || this.readonly ? null : '-1',\n 'aria-labelledby': computedAriaLabelledby\n },\n on: {\n keydown: this.onSpinLeftRight,\n click:\n /* istanbul ignore next */\n function click(event) {\n if (event.target === event.currentTarget) {\n _this4.focus();\n }\n }\n }\n }, $spinners); // Selected type display\n\n var $value = h('output', {\n staticClass: 'form-control form-control-sm text-center',\n class: {\n disabled: this.disabled || this.readonly\n },\n attrs: {\n id: valueId,\n role: 'status',\n for: spinIds.filter(identity).join(' ') || null,\n tabindex: this.disabled ? null : '-1',\n 'aria-live': this.isLive ? 'polite' : 'off',\n 'aria-atomic': 'true'\n },\n on: {\n // Transfer focus/click to focus hours spinner\n click: this.focus,\n focus: this.focus\n }\n }, [h('bdi', this.formattedTimeString), this.computedHMS ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(this.labelSelected, \") \")) : '']);\n var $header = h('header', {\n staticClass: 'b-time-header',\n class: {\n 'sr-only': this.hideHeader\n }\n }, [$value]); // Optional bottom slot\n\n var $slot = this.normalizeSlot();\n $slot = $slot ? h('footer', {\n staticClass: 'b-time-footer'\n }, $slot) : h();\n return h('div', {\n staticClass: 'b-time d-inline-flex flex-column text-center',\n attrs: {\n role: 'group',\n lang: this.computedLang || null,\n 'aria-labelledby': computedAriaLabelledby || null,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-readonly': this.readonly && !this.disabled ? 'true' : null\n }\n }, [$header, $spinners, $slot]);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_TIMEPICKER } from '../../constants/components';\nimport { EVENT_NAME_CONTEXT, EVENT_NAME_SHOWN, EVENT_NAME_HIDDEN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_DATE_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT } from '../../constants/slots';\nimport { attemptBlur, attemptFocus } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { BIconClock, BIconClockFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BVFormBtnLabelControl, props as BVFormBtnLabelControlProps } from '../form-btn-label-control/bv-form-btn-label-control';\nimport { BTime, props as BTimeProps } from '../time/time'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_STRING,\n defaultValue: ''\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nvar timeProps = omit(BTimeProps, ['hidden', 'id', 'value']);\nvar formBtnLabelControlProps = omit(BVFormBtnLabelControlProps, ['formattedValue', 'id', 'lang', 'rtl', 'value']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), timeProps), formBtnLabelControlProps), {}, {\n closeButtonVariant: makeProp(PROP_TYPE_STRING, 'outline-secondary'),\n labelCloseButton: makeProp(PROP_TYPE_STRING, 'Close'),\n labelNowButton: makeProp(PROP_TYPE_STRING, 'Select now'),\n labelResetButton: makeProp(PROP_TYPE_STRING, 'Reset'),\n noCloseButton: makeProp(PROP_TYPE_BOOLEAN, false),\n nowButton: makeProp(PROP_TYPE_BOOLEAN, false),\n nowButtonVariant: makeProp(PROP_TYPE_STRING, 'outline-primary'),\n resetButton: makeProp(PROP_TYPE_BOOLEAN, false),\n resetButtonVariant: makeProp(PROP_TYPE_STRING, 'outline-danger'),\n resetValue: makeProp(PROP_TYPE_DATE_STRING)\n})), NAME_FORM_TIMEPICKER); // --- Main component ---\n// @vue/component\n\nexport var BFormTimepicker = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TIMEPICKER,\n mixins: [idMixin, modelMixin],\n props: props,\n data: function data() {\n return {\n // We always use `HH:mm:ss` value internally\n localHMS: this[MODEL_PROP_NAME] || '',\n // Context data from BTime\n localLocale: null,\n isRTL: false,\n formattedValue: '',\n // If the menu is opened\n isVisible: false\n };\n },\n computed: {\n computedLang: function computedLang() {\n return (this.localLocale || '').replace(/-u-.*$/i, '') || null;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.localHMS = newValue || '';\n }), _defineProperty(_watch, \"localHMS\", function localHMS(newValue) {\n // We only update the v-model value when the timepicker\n // is open, to prevent cursor jumps when bound to a\n // text input in button only mode\n if (this.isVisible) {\n this.$emit(MODEL_EVENT_NAME, newValue || '');\n }\n }), _watch),\n methods: {\n // Public methods\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.control);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.control);\n }\n },\n // Private methods\n setAndClose: function setAndClose(value) {\n var _this = this;\n\n this.localHMS = value;\n this.$nextTick(function () {\n _this.$refs.control.hide(true);\n });\n },\n onInput: function onInput(hms) {\n if (this.localHMS !== hms) {\n this.localHMS = hms;\n }\n },\n onContext: function onContext(ctx) {\n var isRTL = ctx.isRTL,\n locale = ctx.locale,\n value = ctx.value,\n formatted = ctx.formatted;\n this.isRTL = isRTL;\n this.localLocale = locale;\n this.formattedValue = formatted;\n this.localHMS = value || ''; // Re-emit the context event\n\n this.$emit(EVENT_NAME_CONTEXT, ctx);\n },\n onNowButton: function onNowButton() {\n var now = new Date();\n var hours = now.getHours();\n var minutes = now.getMinutes();\n var seconds = this.showSeconds ? now.getSeconds() : 0;\n var value = [hours, minutes, seconds].map(function (v) {\n return \"00\".concat(v || '').slice(-2);\n }).join(':');\n this.setAndClose(value);\n },\n onResetButton: function onResetButton() {\n this.setAndClose(this.resetValue);\n },\n onCloseButton: function onCloseButton() {\n this.$refs.control.hide(true);\n },\n onShow: function onShow() {\n this.isVisible = true;\n },\n onShown: function onShown() {\n var _this2 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this2.$refs.time);\n\n _this2.$emit(EVENT_NAME_SHOWN);\n });\n },\n onHidden: function onHidden() {\n this.isVisible = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n // Render function helpers\n defaultButtonFn: function defaultButtonFn(_ref) {\n var isHovered = _ref.isHovered,\n hasFocus = _ref.hasFocus;\n return this.$createElement(isHovered || hasFocus ? BIconClockFill : BIconClock, {\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n }\n },\n render: function render(h) {\n var localHMS = this.localHMS,\n disabled = this.disabled,\n readonly = this.readonly,\n $props = this.$props;\n var placeholder = isUndefinedOrNull(this.placeholder) ? this.labelNoTimeSelected : this.placeholder; // Footer buttons\n\n var $footer = [];\n\n if (this.nowButton) {\n var label = this.labelNowButton;\n $footer.push(h(BButton, {\n props: {\n size: 'sm',\n disabled: disabled || readonly,\n variant: this.nowButtonVariant\n },\n attrs: {\n 'aria-label': label || null\n },\n on: {\n click: this.onNowButton\n },\n key: 'now-btn'\n }, label));\n }\n\n if (this.resetButton) {\n if ($footer.length > 0) {\n // Add a \"spacer\" between buttons (' ')\n $footer.push(h('span', \"\\xA0\"));\n }\n\n var _label = this.labelResetButton;\n $footer.push(h(BButton, {\n props: {\n size: 'sm',\n disabled: disabled || readonly,\n variant: this.resetButtonVariant\n },\n attrs: {\n 'aria-label': _label || null\n },\n on: {\n click: this.onResetButton\n },\n key: 'reset-btn'\n }, _label));\n }\n\n if (!this.noCloseButton) {\n // Add a \"spacer\" between buttons (' ')\n if ($footer.length > 0) {\n $footer.push(h('span', \"\\xA0\"));\n }\n\n var _label2 = this.labelCloseButton;\n $footer.push(h(BButton, {\n props: {\n size: 'sm',\n disabled: disabled,\n variant: this.closeButtonVariant\n },\n attrs: {\n 'aria-label': _label2 || null\n },\n on: {\n click: this.onCloseButton\n },\n key: 'close-btn'\n }, _label2));\n }\n\n if ($footer.length > 0) {\n $footer = [h('div', {\n staticClass: 'b-form-date-controls d-flex flex-wrap',\n class: {\n 'justify-content-between': $footer.length > 1,\n 'justify-content-end': $footer.length < 2\n }\n }, $footer)];\n }\n\n var $time = h(BTime, {\n staticClass: 'b-form-time-control',\n props: _objectSpread(_objectSpread({}, pluckProps(timeProps, $props)), {}, {\n value: localHMS,\n hidden: !this.isVisible\n }),\n on: {\n input: this.onInput,\n context: this.onContext\n },\n ref: 'time'\n }, $footer);\n return h(BVFormBtnLabelControl, {\n staticClass: 'b-form-timepicker',\n props: _objectSpread(_objectSpread({}, pluckProps(formBtnLabelControlProps, $props)), {}, {\n id: this.safeId(),\n value: localHMS,\n formattedValue: localHMS ? this.formattedValue : '',\n placeholder: placeholder,\n rtl: this.isRTL,\n lang: this.computedLang\n }),\n on: {\n show: this.onShow,\n shown: this.onShown,\n hidden: this.onHidden\n },\n scopedSlots: _defineProperty({}, SLOT_NAME_BUTTON_CONTENT, this.$scopedSlots[SLOT_NAME_BUTTON_CONTENT] || this.defaultButtonFn),\n ref: 'control'\n }, [$time]);\n }\n});","import { ref, nextTick } from '@vue/composition-api'\r\n\r\n// ===========================================================\r\n// ! This is coupled with \"veeValidate\" plugin\r\n// ===========================================================\r\n\r\nexport default function formValidation(resetFormData, clearFormData = () => {}) {\r\n // ------------------------------------------------\r\n // refFormObserver\r\n // ! This is for veeValidate Observer\r\n // * Used for veeValidate form observer\r\n // ------------------------------------------------\r\n const refFormObserver = ref(null)\r\n\r\n // ------------------------------------------------\r\n // resetObserver\r\n // ! This function is coupled with veeValidate\r\n // * It resets form observer\r\n // ------------------------------------------------\r\n const resetObserver = () => {\r\n refFormObserver.value.reset()\r\n }\r\n\r\n // ------------------------------------------------\r\n // getValidationState\r\n // ! This function is coupled with veeValidate\r\n // * It returns true/false based on validation\r\n // ------------------------------------------------\r\n // eslint-disable-next-line object-curly-newline\r\n const getValidationState = ({ dirty, validated, required: fieldRequired, changed, valid = null }) => {\r\n const result = dirty || validated ? valid : null\r\n return !fieldRequired && !changed ? null : result\r\n }\r\n\r\n // ------------------------------------------------\r\n // resetForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses resetFormData arg to reset form data\r\n // ------------------------------------------------\r\n const resetForm = () => {\r\n resetFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n // ------------------------------------------------\r\n // clearForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses clearFormData arg to reset form data\r\n // ------------------------------------------------\r\n const clearForm = () => {\r\n clearFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n return {\r\n refFormObserver,\r\n resetObserver,\r\n getValidationState,\r\n resetForm,\r\n clearForm,\r\n }\r\n}\r\n","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_SPINBUTTON } from '../../constants/components';\nimport { EVENT_NAME_CHANGE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_PAGEUP, CODE_UP, CODE_PAGEDOWN } from '../../constants/key-codes';\nimport { SLOT_NAME_DECREMENT, SLOT_NAME_INCREMENT } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { attemptBlur, attemptFocus } from '../../utils/dom';\nimport { eventOnOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isNull } from '../../utils/inspect';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { mathFloor, mathMax, mathPow, mathRound } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toFloat, toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as formControlProps } from '../../mixins/form-control';\nimport { BIconPlus, BIconDash } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n // Should this really be String, to match native number inputs?\n type: PROP_TYPE_BOOLEAN_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // Default for spin button range and step\n\n\nvar DEFAULT_MIN = 1;\nvar DEFAULT_MAX = 100;\nvar DEFAULT_STEP = 1; // Delay before auto-repeat in ms\n\nvar DEFAULT_REPEAT_DELAY = 500; // Repeat interval in ms\n\nvar DEFAULT_REPEAT_INTERVAL = 100; // Repeat rate increased after number of repeats\n\nvar DEFAULT_REPEAT_THRESHOLD = 10; // Repeat speed multiplier (step multiplier, must be an integer)\n\nvar DEFAULT_REPEAT_MULTIPLIER = 4;\nvar KEY_CODES = [CODE_UP, CODE_DOWN, CODE_HOME, CODE_END, CODE_PAGEUP, CODE_PAGEDOWN]; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), omit(formControlProps, ['required', 'autofocus'])), formSizeProps), formStateProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n formatterFn: makeProp(PROP_TYPE_FUNCTION),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n labelDecrement: makeProp(PROP_TYPE_STRING, 'Decrement'),\n labelIncrement: makeProp(PROP_TYPE_STRING, 'Increment'),\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_MAX),\n min: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_MIN),\n placeholder: makeProp(PROP_TYPE_STRING),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n repeatDelay: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_DELAY),\n repeatInterval: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_INTERVAL),\n repeatStepMultiplier: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_MULTIPLIER),\n repeatThreshold: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_THRESHOLD),\n step: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_STEP),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false),\n wrap: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_FORM_SPINBUTTON); // --- Main Component ---\n// @vue/component\n\nexport var BFormSpinbutton = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_SPINBUTTON,\n // Mixin order is important!\n mixins: [attrsMixin, idMixin, modelMixin, formSizeMixin, formStateMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localValue: toFloat(this[MODEL_PROP_NAME], null),\n hasFocus: false\n };\n },\n computed: {\n spinId: function spinId() {\n return this.safeId();\n },\n computedInline: function computedInline() {\n return this.inline && !this.vertical;\n },\n computedReadonly: function computedReadonly() {\n return this.readonly && !this.disabled;\n },\n computedRequired: function computedRequired() {\n return this.required && !this.computedReadonly && !this.disabled;\n },\n computedStep: function computedStep() {\n return toFloat(this.step, DEFAULT_STEP);\n },\n computedMin: function computedMin() {\n return toFloat(this.min, DEFAULT_MIN);\n },\n computedMax: function computedMax() {\n // We round down to the nearest maximum step value\n var max = toFloat(this.max, DEFAULT_MAX);\n var step = this.computedStep;\n var min = this.computedMin;\n return mathFloor((max - min) / step) * step + min;\n },\n computedDelay: function computedDelay() {\n var delay = toInteger(this.repeatDelay, 0);\n return delay > 0 ? delay : DEFAULT_REPEAT_DELAY;\n },\n computedInterval: function computedInterval() {\n var interval = toInteger(this.repeatInterval, 0);\n return interval > 0 ? interval : DEFAULT_REPEAT_INTERVAL;\n },\n computedThreshold: function computedThreshold() {\n return mathMax(toInteger(this.repeatThreshold, DEFAULT_REPEAT_THRESHOLD), 1);\n },\n computedStepMultiplier: function computedStepMultiplier() {\n return mathMax(toInteger(this.repeatStepMultiplier, DEFAULT_REPEAT_MULTIPLIER), 1);\n },\n computedPrecision: function computedPrecision() {\n // Quick and dirty way to get the number of decimals\n var step = this.computedStep;\n return mathFloor(step) === step ? 0 : (step.toString().split('.')[1] || '').length;\n },\n computedMultiplier: function computedMultiplier() {\n return mathPow(10, this.computedPrecision || 0);\n },\n valueAsFixed: function valueAsFixed() {\n var value = this.localValue;\n return isNull(value) ? '' : value.toFixed(this.computedPrecision);\n },\n computedLocale: function computedLocale() {\n var locales = concat(this.locale).filter(identity);\n var nf = new Intl.NumberFormat(locales);\n return nf.resolvedOptions().locale;\n },\n computedRTL: function computedRTL() {\n return isLocaleRTL(this.computedLocale);\n },\n defaultFormatter: function defaultFormatter() {\n // Returns and `Intl.NumberFormat` formatter method reference\n var precision = this.computedPrecision;\n var nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: precision,\n maximumFractionDigits: precision,\n notation: 'standard'\n }); // Return the format method reference\n\n return nf.format;\n },\n computedFormatter: function computedFormatter() {\n var formatterFn = this.formatterFn;\n return hasPropFunction(formatterFn) ? formatterFn : this.defaultFormatter;\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'group',\n lang: this.computedLocale,\n tabindex: this.disabled ? null : '-1',\n title: this.ariaLabel\n });\n },\n computedSpinAttrs: function computedSpinAttrs() {\n var spinId = this.spinId,\n value = this.localValue,\n required = this.computedRequired,\n disabled = this.disabled,\n state = this.state,\n computedFormatter = this.computedFormatter;\n var hasValue = !isNull(value);\n return _objectSpread(_objectSpread({\n dir: this.computedRTL ? 'rtl' : 'ltr'\n }, this.bvAttrs), {}, {\n id: spinId,\n role: 'spinbutton',\n tabindex: disabled ? null : '0',\n 'aria-live': 'off',\n 'aria-label': this.ariaLabel || null,\n 'aria-controls': this.ariaControls || null,\n // TODO: May want to check if the value is in range\n 'aria-invalid': state === false || !hasValue && required ? 'true' : null,\n 'aria-required': required ? 'true' : null,\n // These attrs are required for role spinbutton\n 'aria-valuemin': toString(this.computedMin),\n 'aria-valuemax': toString(this.computedMax),\n // These should be `null` if the value is out of range\n // They must also be non-existent attrs if the value is out of range or `null`\n 'aria-valuenow': hasValue ? value : null,\n 'aria-valuetext': hasValue ? computedFormatter(value) : null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (value) {\n this.localValue = toFloat(value, null);\n }), _defineProperty(_watch, \"localValue\", function localValue(value) {\n this.$emit(MODEL_EVENT_NAME, value);\n }), _defineProperty(_watch, \"disabled\", function disabled(_disabled) {\n if (_disabled) {\n this.clearRepeat();\n }\n }), _defineProperty(_watch, \"readonly\", function readonly(_readonly) {\n if (_readonly) {\n this.clearRepeat();\n }\n }), _watch),\n created: function created() {\n // Create non reactive properties\n this.$_autoDelayTimer = null;\n this.$_autoRepeatTimer = null;\n this.$_keyIsDown = false;\n },\n beforeDestroy: function beforeDestroy() {\n this.clearRepeat();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.clearRepeat();\n },\n methods: {\n // --- Public methods ---\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.spinner);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.spinner);\n }\n },\n // --- Private methods ---\n emitChange: function emitChange() {\n this.$emit(EVENT_NAME_CHANGE, this.localValue);\n },\n stepValue: function stepValue(direction) {\n // Sets a new incremented or decremented value, supporting optional wrapping\n // Direction is either +1 or -1 (or a multiple thereof)\n var value = this.localValue;\n\n if (!this.disabled && !isNull(value)) {\n var step = this.computedStep * direction;\n var min = this.computedMin;\n var max = this.computedMax;\n var multiplier = this.computedMultiplier;\n var wrap = this.wrap; // We ensure that the value steps like a native input\n\n value = mathRound((value - min) / step) * step + min + step; // We ensure that precision is maintained (decimals)\n\n value = mathRound(value * multiplier) / multiplier; // Handle if wrapping is enabled\n\n this.localValue = value > max ? wrap ? min : max : value < min ? wrap ? max : min : value;\n }\n },\n onFocusBlur: function onFocusBlur(event) {\n if (!this.disabled) {\n this.hasFocus = event.type === 'focus';\n } else {\n this.hasFocus = false;\n }\n },\n stepUp: function stepUp() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var value = this.localValue;\n\n if (isNull(value)) {\n this.localValue = this.computedMin;\n } else {\n this.stepValue(+1 * multiplier);\n }\n },\n stepDown: function stepDown() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var value = this.localValue;\n\n if (isNull(value)) {\n this.localValue = this.wrap ? this.computedMax : this.computedMin;\n } else {\n this.stepValue(-1 * multiplier);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n /* istanbul ignore if */\n\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return;\n }\n\n if (arrayIncludes(KEY_CODES, keyCode)) {\n // https://w3c.github.io/aria-practices/#spinbutton\n stopEvent(event, {\n propagation: false\n });\n /* istanbul ignore if */\n\n if (this.$_keyIsDown) {\n // Keypress is already in progress\n return;\n }\n\n this.resetTimers();\n\n if (arrayIncludes([CODE_UP, CODE_DOWN], keyCode)) {\n // The following use the custom auto-repeat handling\n this.$_keyIsDown = true;\n\n if (keyCode === CODE_UP) {\n this.handleStepRepeat(event, this.stepUp);\n } else if (keyCode === CODE_DOWN) {\n this.handleStepRepeat(event, this.stepDown);\n }\n } else {\n // These use native OS key repeating\n if (keyCode === CODE_PAGEUP) {\n this.stepUp(this.computedStepMultiplier);\n } else if (keyCode === CODE_PAGEDOWN) {\n this.stepDown(this.computedStepMultiplier);\n } else if (keyCode === CODE_HOME) {\n this.localValue = this.computedMin;\n } else if (keyCode === CODE_END) {\n this.localValue = this.computedMax;\n }\n }\n }\n },\n onKeyup: function onKeyup(event) {\n // Emit a change event when the keyup happens\n var keyCode = event.keyCode,\n altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n /* istanbul ignore if */\n\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return;\n }\n\n if (arrayIncludes(KEY_CODES, keyCode)) {\n stopEvent(event, {\n propagation: false\n });\n this.resetTimers();\n this.$_keyIsDown = false;\n this.emitChange();\n }\n },\n handleStepRepeat: function handleStepRepeat(event, stepper) {\n var _this = this;\n\n var _ref = event || {},\n type = _ref.type,\n button = _ref.button;\n\n if (!this.disabled && !this.readonly) {\n /* istanbul ignore if */\n if (type === 'mousedown' && button) {\n // We only respond to left (main === 0) button clicks\n return;\n }\n\n this.resetTimers(); // Step the counter initially\n\n stepper(1);\n var threshold = this.computedThreshold;\n var multiplier = this.computedStepMultiplier;\n var delay = this.computedDelay;\n var interval = this.computedInterval; // Initiate the delay/repeat interval\n\n this.$_autoDelayTimer = setTimeout(function () {\n var count = 0;\n _this.$_autoRepeatTimer = setInterval(function () {\n // After N initial repeats, we increase the incrementing step amount\n // We do this to minimize screen reader announcements of the value\n // (values are announced every change, which can be chatty for SR users)\n // And to make it easer to select a value when the range is large\n stepper(count < threshold ? 1 : multiplier);\n count++;\n }, interval);\n }, delay);\n }\n },\n onMouseup: function onMouseup(event) {\n // `` listener, only enabled when mousedown starts\n var _ref2 = event || {},\n type = _ref2.type,\n button = _ref2.button;\n /* istanbul ignore if */\n\n\n if (type === 'mouseup' && button) {\n // Ignore non left button (main === 0) mouse button click\n return;\n }\n\n stopEvent(event, {\n propagation: false\n });\n this.resetTimers();\n this.setMouseup(false); // Trigger the change event\n\n this.emitChange();\n },\n setMouseup: function setMouseup(on) {\n // Enable or disabled the body mouseup/touchend handlers\n // Use try/catch to handle case when called server side\n try {\n eventOnOff(on, document.body, 'mouseup', this.onMouseup, false);\n eventOnOff(on, document.body, 'touchend', this.onMouseup, false);\n } catch (_unused) {}\n },\n resetTimers: function resetTimers() {\n clearTimeout(this.$_autoDelayTimer);\n clearInterval(this.$_autoRepeatTimer);\n this.$_autoDelayTimer = null;\n this.$_autoRepeatTimer = null;\n },\n clearRepeat: function clearRepeat() {\n this.resetTimers();\n this.setMouseup(false);\n this.$_keyIsDown = false;\n }\n },\n render: function render(h) {\n var _this2 = this;\n\n var spinId = this.spinId,\n value = this.localValue,\n inline = this.computedInline,\n readonly = this.computedReadonly,\n vertical = this.vertical,\n disabled = this.disabled,\n computedFormatter = this.computedFormatter;\n var hasValue = !isNull(value);\n\n var makeButton = function makeButton(stepper, label, IconCmp, keyRef, shortcut, btnDisabled, slotName) {\n var $icon = h(IconCmp, {\n props: {\n scale: _this2.hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n var scope = {\n hasFocus: _this2.hasFocus\n };\n\n var handler = function handler(event) {\n if (!disabled && !readonly) {\n stopEvent(event, {\n propagation: false\n });\n\n _this2.setMouseup(true); // Since we `preventDefault()`, we must manually focus the button\n\n\n attemptFocus(event.currentTarget);\n\n _this2.handleStepRepeat(event, stepper);\n }\n };\n\n return h('button', {\n staticClass: 'btn btn-sm border-0 rounded-0',\n class: {\n 'py-0': !vertical\n },\n attrs: {\n tabindex: '-1',\n type: 'button',\n disabled: disabled || readonly || btnDisabled,\n 'aria-disabled': disabled || readonly || btnDisabled ? 'true' : null,\n 'aria-controls': spinId,\n 'aria-label': label || null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: {\n mousedown: handler,\n touchstart: handler\n },\n key: keyRef || null,\n ref: keyRef\n }, [_this2.normalizeSlot(slotName, scope) || $icon]);\n }; // TODO: Add button disabled state when `wrap` is `false` and at value max/min\n\n\n var $increment = makeButton(this.stepUp, this.labelIncrement, BIconPlus, 'inc', 'ArrowUp', false, SLOT_NAME_INCREMENT);\n var $decrement = makeButton(this.stepDown, this.labelDecrement, BIconDash, 'dec', 'ArrowDown', false, SLOT_NAME_DECREMENT);\n var $hidden = h();\n\n if (this.name && !disabled) {\n $hidden = h('input', {\n attrs: {\n type: 'hidden',\n name: this.name,\n form: this.form || null,\n // TODO: Should this be set to '' if value is out of range?\n value: this.valueAsFixed\n },\n key: 'hidden'\n });\n }\n\n var $spin = h( // We use 'output' element to make this accept a `