@7pmlabs/design-system 0.7.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/design-system10.mjs +8 -8
- package/dist/design-system10.mjs.map +1 -1
- package/dist/design-system101.mjs.map +1 -1
- package/dist/design-system102.mjs +16 -16
- package/dist/design-system105.mjs +9 -9
- package/dist/design-system106.mjs.map +1 -1
- package/dist/design-system107.mjs.map +1 -1
- package/dist/design-system108.mjs +16 -16
- package/dist/design-system109.mjs +16 -16
- package/dist/design-system11.mjs.map +1 -1
- package/dist/design-system111.mjs +16 -16
- package/dist/design-system111.mjs.map +1 -1
- package/dist/design-system112.mjs.map +1 -1
- package/dist/design-system114.mjs.map +1 -1
- package/dist/design-system116.mjs +1 -1
- package/dist/design-system117.mjs +1 -1
- package/dist/design-system118.mjs +5 -5
- package/dist/design-system118.mjs.map +1 -1
- package/dist/design-system12.mjs.map +1 -1
- package/dist/design-system123.mjs.map +1 -1
- package/dist/design-system125.mjs +7 -4
- package/dist/design-system125.mjs.map +1 -1
- package/dist/design-system126.mjs +5 -8
- package/dist/design-system126.mjs.map +1 -1
- package/dist/design-system127.mjs +6 -6
- package/dist/design-system127.mjs.map +1 -1
- package/dist/design-system13.mjs.map +1 -1
- package/dist/design-system14.mjs.map +1 -1
- package/dist/design-system15.mjs.map +1 -1
- package/dist/design-system16.mjs.map +1 -1
- package/dist/design-system17.mjs +170 -146
- package/dist/design-system17.mjs.map +1 -1
- package/dist/design-system18.mjs.map +1 -1
- package/dist/design-system19.mjs +64 -64
- package/dist/design-system19.mjs.map +1 -1
- package/dist/design-system20.mjs +78 -78
- package/dist/design-system20.mjs.map +1 -1
- package/dist/design-system21.mjs.map +1 -1
- package/dist/design-system22.mjs.map +1 -1
- package/dist/design-system23.mjs.map +1 -1
- package/dist/design-system24.mjs.map +1 -1
- package/dist/design-system25.mjs.map +1 -1
- package/dist/design-system40.mjs +46 -46
- package/dist/design-system40.mjs.map +1 -1
- package/dist/design-system43.mjs +10 -10
- package/dist/design-system45.mjs.map +1 -1
- package/dist/design-system49.mjs +2 -2
- package/dist/design-system49.mjs.map +1 -1
- package/dist/design-system51.mjs +68 -68
- package/dist/design-system51.mjs.map +1 -1
- package/dist/design-system54.mjs.map +1 -1
- package/dist/design-system57.mjs.map +1 -1
- package/dist/design-system64.mjs +10 -10
- package/dist/design-system64.mjs.map +1 -1
- package/dist/design-system66.mjs.map +1 -1
- package/dist/design-system72.mjs.map +1 -1
- package/dist/design-system76.mjs.map +1 -1
- package/dist/design-system79.mjs.map +1 -1
- package/dist/design-system83.mjs +43 -43
- package/dist/design-system83.mjs.map +1 -1
- package/dist/design-system85.mjs +75 -75
- package/dist/design-system85.mjs.map +1 -1
- package/dist/design-system88.mjs.map +1 -1
- package/dist/design-system90.mjs.map +1 -1
- package/dist/design-system95.mjs +42 -42
- package/dist/design-system95.mjs.map +1 -1
- package/dist/design-system96.mjs +2 -2
- package/dist/design-system96.mjs.map +1 -1
- package/dist/design-system97.mjs +1 -1
- package/dist/design-system97.mjs.map +1 -1
- package/dist/design-system98.mjs +12 -12
- package/dist/design-system98.mjs.map +1 -1
- package/dist/design-system99.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/BBreadcrumb/BBreadcrumb.vue.d.ts +4 -4
- package/dist/types/components/BBreadcrumb/BBreadcrumbSeparator.vue.d.ts +1 -1
- package/dist/types/components/BButton.vue.d.ts +4 -4
- package/dist/types/components/BCarousel/BCarousel.vue.d.ts +6 -6
- package/dist/types/components/BCarousel/BCarouselItem.vue.d.ts +1 -1
- package/dist/types/components/BCheckbox.vue.d.ts +5 -5
- package/dist/types/components/BCollapse.vue.d.ts +3 -3
- package/dist/types/components/BCurrencyField.vue.d.ts +6 -6
- package/dist/types/components/BDatePicker/BDatePicker.vue.d.ts +6 -6
- package/dist/types/components/BDatePicker/BDatePickerButtonNext.vue.d.ts +1 -1
- package/dist/types/components/BDatePicker/BDatePickerButtonPrevious.vue.d.ts +1 -1
- package/dist/types/components/BDatePicker/BDatePickerGridDate.vue.d.ts +3 -3
- package/dist/types/components/BDatePicker/BDatePickerGridDateRange.vue.d.ts +3 -3
- package/dist/types/components/BDatePicker/BDatePickerGridMonth.vue.d.ts +3 -3
- package/dist/types/components/BDatePicker/BDatePickerGridYear.vue.d.ts +3 -3
- package/dist/types/components/BDatePicker/BDatePickerHeading.vue.d.ts +1 -1
- package/dist/types/components/BDatePicker/BDatePickerIcon.vue.d.ts +1 -1
- package/dist/types/components/BDropdown/BDropdown.vue.d.ts +5 -5
- package/dist/types/components/BDropdown/BDropdownContent.vue.d.ts +1 -1
- package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +4 -4
- package/dist/types/components/BErrorMessage.vue.d.ts +4 -4
- package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +7 -7
- package/dist/types/components/BImagePicker/BImagePickerCloseButton.vue.d.ts +1 -1
- package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +3 -3
- package/dist/types/components/BLabel.vue.d.ts +5 -5
- package/dist/types/components/BLoadingBar.vue.d.ts +4 -4
- package/dist/types/components/BLoadingOverlay.vue.d.ts +4 -4
- package/dist/types/components/BModal/BModal.vue.d.ts +5 -5
- package/dist/types/components/BModal/BModalBody.vue.d.ts +1 -1
- package/dist/types/components/BModal/BModalContainer.vue.d.ts +5 -5
- package/dist/types/components/BModal/BModalFooter.vue.d.ts +1 -1
- package/dist/types/components/BModal/BModalHeader.vue.d.ts +1 -1
- package/dist/types/components/BMultiSelect.vue.d.ts +9 -9
- package/dist/types/components/BOtpField/BOtpField.vue.d.ts +7 -7
- package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +7 -7
- package/dist/types/components/BOverlay.vue.d.ts +1 -1
- package/dist/types/components/BPagination.vue.d.ts +5 -5
- package/dist/types/components/BRadio.vue.d.ts +6 -6
- package/dist/types/components/BSelect.vue.d.ts +9 -9
- package/dist/types/components/BStepper.vue.d.ts +3 -3
- package/dist/types/components/BSwitch.vue.d.ts +5 -5
- package/dist/types/components/BTabs/BTab.vue.d.ts +1 -1
- package/dist/types/components/BTabs/BTabs.vue.d.ts +5 -5
- package/dist/types/components/BTextField.vue.d.ts +8 -8
- package/dist/types/components/BTextarea.vue.d.ts +7 -7
- package/dist/types/components/BTimeline/BTimeline.vue.d.ts +1 -1
- package/dist/types/components/BTimeline/BTimelineItem.vue.d.ts +1 -1
- package/dist/types/components/BToast/BToast.vue.d.ts +3 -3
- package/dist/types/components/BToast/BToastItem.vue.d.ts +6 -6
- package/dist/types/components/BTooltip.vue.d.ts +6 -6
- package/dist/types/composables/Validation.d.ts +6 -1
- package/dist/types/constants/Common.d.ts +2 -2
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system18.mjs","sources":["../src/components/BOtpField/BOtpField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createBlock as _createBlock, createElementVNode as _createElementVNode, unref as _unref, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-flex ds-items-center ds-justify-center ds-space-x-2\" }\n\nimport BErrorMessage from '@/components/BErrorMessage.vue';\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { cloneDeep } from 'lodash-es';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BOtpFieldBox from './BOtpFieldBox.vue';\n\n//#region Props\nexport interface BOtpFieldProps {\n inputId?: string;\n modelValue: string;\n /**\n * Number of input boxes.\n */\n numInputs?: number;\n /**\n * Index of input box to be focused.\n */\n focusIndex?: number;\n disabled?: boolean;\n inputCssClass?: string | {};\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BOtpField',\n props: {\n inputId: { default: '' },\n modelValue: { default: '' },\n numInputs: { default: 6 },\n focusIndex: { default: undefined },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false }\n },\n emits: [\"complete\", \"change\", \"update:focusIndex\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// Sourcecode: https://github.com/ejirocodes/vue3-otp-input\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst fIndex = ref(0);\nconst oldOtp = ref<any[]>([]);\nconst boxRefs = ref<Array<InstanceType<typeof BOtpFieldBox>> | null>(null);\nconst handleOnFocus = (index: number) => {\n focusIndexValue.value = index;\n};\nconst handleOnBlur = () => {\n focusIndexValue.value = -1;\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed<any[]>({\n get() {\n return props.modelValue.split('');\n },\n set(val: any) {\n emit('update:modelValue', val.join(''));\n },\n});\nconst originalValue = computed(() => props.modelValue);\nconst focusIndexValue = computed({\n get() {\n return props.focusIndex !== undefined ? props.focusIndex : fIndex.value;\n },\n set(val: number) {\n if (props.focusIndex !== undefined) {\n emit('update:focusIndex', val);\n } else {\n fIndex.value = val;\n }\n },\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst inputCssClassValue = computed(() => [\n ...[\n props.disabled\n ? 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]'\n : 'ds-text-black/[0.85]',\n validationResult.value.valid\n ? 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus'\n : 'ds-border-error focus:ds-ring-1 focus:ds-ring-error',\n ],\n props.inputCssClass,\n]);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n originalValue,\n vRules.value,\n);\n//#endregion\n\n//#region Methods\nconst focus = () => {\n boxRefs.value![focusIndexValue.value].focus();\n};\nconst checkFilledAllInputs = () => {\n if (value.value.join('').length === props.numInputs) {\n return emit('complete', value.value.join(''));\n }\n return 'Wait until the user enters the required number of characters';\n};\n// Focus on input by index\nconst focusInput = (input: number) => {\n focusIndexValue.value = Math.max(Math.min(props.numInputs - 1, input), 0);\n};\n// Focus on next input\nconst focusNextInput = () => {\n focusInput(focusIndexValue.value + 1);\n};\n// Focus on previous input\nconst focusPrevInput = () => {\n focusInput(focusIndexValue.value - 1);\n};\n// Change OTP value at focused input\nconst changeCodeAtFocus = (val: number | string) => {\n oldOtp.value = [...value.value];\n\n value.value[focusIndexValue.value] = val;\n value.value = cloneDeep(value.value);\n\n const oldOtpStr = oldOtp.value.join('');\n const otpStr = value.value.join('');\n if (oldOtpStr !== otpStr) {\n emit('change', otpStr);\n checkFilledAllInputs();\n }\n};\n// Handle pasted OTP\nconst handleOnPaste = (event: any) => {\n event.preventDefault();\n const pastedData = event.clipboardData\n .getData('text/plain')\n .slice(0, props.numInputs - focusIndexValue.value)\n .split('');\n if (!pastedData.join('').match(/^\\d+$/)) {\n return 'Invalid pasted data';\n }\n\n // Paste data from focused input onwards\n const currentCharsInOtp = value.value.slice(0, focusIndexValue.value);\n const combinedWithPastedData = currentCharsInOtp.concat(pastedData);\n\n combinedWithPastedData.slice(0, props.numInputs).forEach((val, i) => {\n value.value[i] = val;\n });\n\n focusInput(combinedWithPastedData.slice(0, props.numInputs).length);\n\n // Update modelValue when data is pasted from keyboard\n emit('update:modelValue', value.value.join(''));\n // Check if `complete`\n return checkFilledAllInputs();\n};\nconst handleOnChange = (val: string) => {\n changeCodeAtFocus(val);\n focusNextInput();\n};\n// Handle cases of backspace, delete, left arrow, right arrow\nconst handleOnKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Backspace':\n event.preventDefault();\n changeCodeAtFocus('');\n focusPrevInput();\n break;\n case 'Delete':\n event.preventDefault();\n changeCodeAtFocus('');\n break;\n case 'ArrowLeft':\n event.preventDefault();\n focusPrevInput();\n break;\n case 'ArrowRight':\n event.preventDefault();\n focusNextInput();\n break;\n default:\n break;\n }\n};\nconst handleOnKeyUp = () => {\n validate();\n};\n//#endregion\n\n__expose({ validate, focus });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.numInputs, (_, i) => {\n return (_openBlock(), _createBlock(BOtpFieldBox, {\n key: i,\n ref_for: true,\n ref_key: \"boxRefs\",\n ref: boxRefs,\n class: _normalizeClass(inputCssClassValue.value),\n focus: focusIndexValue.value === i,\n \"is-disabled\": _ctx.disabled,\n value: value.value[i],\n onOnChange: handleOnChange,\n onOnKeydown: handleOnKeyDown,\n onOnKeyup: handleOnKeyUp,\n onOnPaste: handleOnPaste,\n onOnFocus: ($event: any) => (handleOnFocus(i)),\n onOnBlur: handleOnBlur\n }, null, 8, [\"class\", \"focus\", \"is-disabled\", \"value\", \"onOnFocus\"]))\n }), 128))\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","t","useI18n","validateRequired","val","fIndex","ref","oldOtp","boxRefs","handleOnFocus","index","focusIndexValue","handleOnBlur","id","computed","uuid","value","originalValue","vRules","result","inputCssClassValue","validationResult","validate","useValidationField","focus","checkFilledAllInputs","focusInput","input","focusNextInput","focusPrevInput","changeCodeAtFocus","cloneDeep","oldOtpStr","otpStr","handleOnPaste","event","pastedData","combinedWithPastedData","i","handleOnChange","handleOnKeyDown","handleOnKeyUp","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","_","_createBlock","BOtpFieldBox","_normalizeClass","$event","_createCommentVNode","BErrorMessage","_unref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system18.mjs","sources":["../src/components/BOtpField/BOtpField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createBlock as _createBlock, createElementVNode as _createElementVNode, unref as _unref, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-flex ds-items-center ds-justify-center ds-space-x-2\" }\n\nimport BErrorMessage from '@/components/BErrorMessage.vue';\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { cloneDeep } from 'lodash-es';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BOtpFieldBox from './BOtpFieldBox.vue';\n\n//#region Props\nexport interface BOtpFieldProps {\n inputId?: string;\n modelValue: string;\n /**\n * Number of input boxes.\n */\n numInputs?: number;\n /**\n * Index of input box to be focused.\n */\n focusIndex?: number;\n disabled?: boolean;\n inputCssClass?: string | {};\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BOtpField',\n props: {\n inputId: { default: '' },\n modelValue: { default: '' },\n numInputs: { default: 6 },\n focusIndex: { default: undefined },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false }\n },\n emits: [\"complete\", \"change\", \"update:focusIndex\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// Sourcecode: https://github.com/ejirocodes/vue3-otp-input\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst fIndex = ref(0);\nconst oldOtp = ref<any[]>([]);\nconst boxRefs = ref<Array<InstanceType<typeof BOtpFieldBox>> | null>(null);\nconst handleOnFocus = (index: number) => {\n focusIndexValue.value = index;\n};\nconst handleOnBlur = () => {\n focusIndexValue.value = -1;\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed<any[]>({\n get() {\n return props.modelValue.split('');\n },\n set(val: any) {\n emit('update:modelValue', val.join(''));\n },\n});\nconst originalValue = computed(() => props.modelValue);\nconst focusIndexValue = computed({\n get() {\n return props.focusIndex !== undefined ? props.focusIndex : fIndex.value;\n },\n set(val: number) {\n if (props.focusIndex !== undefined) {\n emit('update:focusIndex', val);\n } else {\n fIndex.value = val;\n }\n },\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst inputCssClassValue = computed(() => [\n ...[\n props.disabled\n ? 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]'\n : 'ds-text-black/[0.85]',\n validationResult.value.valid\n ? 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus'\n : 'ds-border-error focus:ds-ring-1 focus:ds-ring-error',\n ],\n props.inputCssClass,\n]);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n originalValue,\n vRules.value,\n);\n//#endregion\n\n//#region Methods\nconst focus = () => {\n boxRefs.value![focusIndexValue.value].focus();\n};\nconst checkFilledAllInputs = () => {\n if (value.value.join('').length === props.numInputs) {\n return emit('complete', value.value.join(''));\n }\n return 'Wait until the user enters the required number of characters';\n};\n// Focus on input by index\nconst focusInput = (input: number) => {\n focusIndexValue.value = Math.max(Math.min(props.numInputs - 1, input), 0);\n};\n// Focus on next input\nconst focusNextInput = () => {\n focusInput(focusIndexValue.value + 1);\n};\n// Focus on previous input\nconst focusPrevInput = () => {\n focusInput(focusIndexValue.value - 1);\n};\n// Change OTP value at focused input\nconst changeCodeAtFocus = (val: number | string) => {\n oldOtp.value = [...value.value];\n\n value.value[focusIndexValue.value] = val;\n value.value = cloneDeep(value.value);\n\n const oldOtpStr = oldOtp.value.join('');\n const otpStr = value.value.join('');\n if (oldOtpStr !== otpStr) {\n emit('change', otpStr);\n checkFilledAllInputs();\n }\n};\n// Handle pasted OTP\nconst handleOnPaste = (event: any) => {\n event.preventDefault();\n const pastedData = event.clipboardData\n .getData('text/plain')\n .slice(0, props.numInputs - focusIndexValue.value)\n .split('');\n if (!pastedData.join('').match(/^\\d+$/)) {\n return 'Invalid pasted data';\n }\n\n // Paste data from focused input onwards\n const currentCharsInOtp = value.value.slice(0, focusIndexValue.value);\n const combinedWithPastedData = currentCharsInOtp.concat(pastedData);\n\n combinedWithPastedData.slice(0, props.numInputs).forEach((val, i) => {\n value.value[i] = val;\n });\n\n focusInput(combinedWithPastedData.slice(0, props.numInputs).length);\n\n // Update modelValue when data is pasted from keyboard\n emit('update:modelValue', value.value.join(''));\n // Check if `complete`\n return checkFilledAllInputs();\n};\nconst handleOnChange = (val: string) => {\n changeCodeAtFocus(val);\n focusNextInput();\n};\n// Handle cases of backspace, delete, left arrow, right arrow\nconst handleOnKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Backspace':\n event.preventDefault();\n changeCodeAtFocus('');\n focusPrevInput();\n break;\n case 'Delete':\n event.preventDefault();\n changeCodeAtFocus('');\n break;\n case 'ArrowLeft':\n event.preventDefault();\n focusPrevInput();\n break;\n case 'ArrowRight':\n event.preventDefault();\n focusNextInput();\n break;\n default:\n break;\n }\n};\nconst handleOnKeyUp = () => {\n validate();\n};\n//#endregion\n\n__expose({ validate, focus });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.numInputs, (_, i) => {\n return (_openBlock(), _createBlock(BOtpFieldBox, {\n key: i,\n ref_for: true,\n ref_key: \"boxRefs\",\n ref: boxRefs,\n class: _normalizeClass(inputCssClassValue.value),\n focus: focusIndexValue.value === i,\n \"is-disabled\": _ctx.disabled,\n value: value.value[i],\n onOnChange: handleOnChange,\n onOnKeydown: handleOnKeyDown,\n onOnKeyup: handleOnKeyUp,\n onOnPaste: handleOnPaste,\n onOnFocus: ($event: any) => (handleOnFocus(i)),\n onOnBlur: handleOnBlur\n }, null, 8, [\"class\", \"focus\", \"is-disabled\", \"value\", \"onOnFocus\"]))\n }), 128))\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","t","useI18n","validateRequired","val","fIndex","ref","oldOtp","boxRefs","handleOnFocus","index","focusIndexValue","handleOnBlur","id","computed","uuid","value","originalValue","vRules","result","inputCssClassValue","validationResult","validate","useValidationField","focus","checkFilledAllInputs","focusInput","input","focusNextInput","focusPrevInput","changeCodeAtFocus","cloneDeep","oldOtpStr","otpStr","handleOnPaste","event","pastedData","combinedWithPastedData","i","handleOnChange","handleOnKeyDown","handleOnKeyUp","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","_","_createBlock","BOtpFieldBox","_normalizeClass","$event","_createCommentVNode","BErrorMessage","_unref"],"mappings":"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"}
|
package/dist/design-system19.mjs
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as C, computed as p, openBlock as O, createElementBlock as B, createElementVNode as l, normalizeClass as n, toDisplayString as r, withDirectives as o, vShow as i } from "vue";
|
|
2
2
|
import { BPaginationSize as f } from "./design-system5.mjs";
|
|
3
|
-
const
|
|
4
|
-
class: "ds-h-4 ds-w-4 ds-fill-black/80",
|
|
5
|
-
viewBox: "0 0 320 512",
|
|
6
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
7
|
-
}, [
|
|
8
|
-
/* @__PURE__ */ s("path", { d: "M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" })
|
|
9
|
-
], -1), y = [
|
|
10
|
-
x
|
|
11
|
-
], z = /* @__PURE__ */ s("svg", {
|
|
12
|
-
class: "ds-h-4 ds-w-4 ds-fill-black/80",
|
|
13
|
-
viewBox: "0 0 320 512",
|
|
14
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
15
|
-
}, [
|
|
16
|
-
/* @__PURE__ */ s("path", { d: "M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" })
|
|
17
|
-
], -1), $ = [
|
|
18
|
-
z
|
|
19
|
-
], V = 1, g = "...", E = /* @__PURE__ */ P({
|
|
3
|
+
const x = { class: "ds-inline-flex ds-space-x-1" }, y = 1, g = "...", h = /* @__PURE__ */ C({
|
|
20
4
|
__name: "BPagination",
|
|
21
5
|
props: {
|
|
22
6
|
modelValue: {},
|
|
@@ -27,101 +11,117 @@ const B = { class: "ds-inline-flex ds-space-x-1" }, x = /* @__PURE__ */ s("svg",
|
|
|
27
11
|
},
|
|
28
12
|
emits: ["change", "update:modelValue"],
|
|
29
13
|
setup(b, { emit: w }) {
|
|
30
|
-
const d = b,
|
|
14
|
+
const d = b, c = w, e = p({
|
|
31
15
|
get() {
|
|
32
16
|
return d.modelValue + 1;
|
|
33
17
|
},
|
|
34
|
-
set(
|
|
35
|
-
|
|
18
|
+
set(s) {
|
|
19
|
+
c("update:modelValue", s - 1);
|
|
36
20
|
}
|
|
37
21
|
}), t = p(() => {
|
|
38
|
-
let
|
|
22
|
+
let s = `
|
|
39
23
|
ds-flex ds-items-center ds-justify-center
|
|
40
24
|
ds-rounded-lg `;
|
|
41
|
-
switch (d.border && (
|
|
25
|
+
switch (d.border && (s += "ds-border ds-border-gray-300 "), d.size) {
|
|
42
26
|
case f.Small:
|
|
43
|
-
|
|
27
|
+
s += "ds-w-8 ds-h-8 ";
|
|
44
28
|
break;
|
|
45
29
|
case f.Medium:
|
|
46
30
|
default:
|
|
47
|
-
|
|
31
|
+
s += "ds-w-10 ds-h-10 ";
|
|
48
32
|
break;
|
|
49
33
|
}
|
|
50
|
-
return
|
|
51
|
-
}),
|
|
52
|
-
e.value =
|
|
34
|
+
return s;
|
|
35
|
+
}), v = (s) => {
|
|
36
|
+
e.value = s, c("change", e.value);
|
|
53
37
|
}, k = () => {
|
|
54
|
-
e.value > 1 && (e.value--,
|
|
55
|
-
},
|
|
56
|
-
e.value < d.numberOfPages && (e.value++,
|
|
57
|
-
}, u = (
|
|
58
|
-
return (
|
|
59
|
-
|
|
60
|
-
|
|
38
|
+
e.value > 1 && (e.value--, c("change", e.value));
|
|
39
|
+
}, P = () => {
|
|
40
|
+
e.value < d.numberOfPages && (e.value++, c("change", e.value));
|
|
41
|
+
}, u = (s = !0) => s ? "ds-text-white ds-bg-primary-t " : `ds-text-black/80 ${d.transparent ? "ds-bg-transparent" : "ds-bg-white"}`;
|
|
42
|
+
return (s, a) => (O(), B("nav", null, [
|
|
43
|
+
l("ul", x, [
|
|
44
|
+
l("li", {
|
|
61
45
|
class: n([[t.value, u(!1)], "ds-ml-0 ds-cursor-pointer"]),
|
|
62
46
|
onClick: k
|
|
63
|
-
},
|
|
64
|
-
|
|
47
|
+
}, a[5] || (a[5] = [
|
|
48
|
+
l("svg", {
|
|
49
|
+
class: "ds-h-4 ds-w-4 ds-fill-black/80",
|
|
50
|
+
viewBox: "0 0 320 512",
|
|
51
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
52
|
+
}, [
|
|
53
|
+
l("path", { d: "M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" })
|
|
54
|
+
], -1)
|
|
55
|
+
]), 2),
|
|
56
|
+
l("li", {
|
|
65
57
|
class: n([[u(e.value === 1), t.value], "ds-cursor-pointer"]),
|
|
66
|
-
onClick: a[0] || (a[0] = (m) =>
|
|
58
|
+
onClick: a[0] || (a[0] = (m) => v(1))
|
|
67
59
|
}, [
|
|
68
|
-
|
|
60
|
+
l("a", null, r(y))
|
|
69
61
|
], 2),
|
|
70
|
-
o(
|
|
62
|
+
o(l("li", {
|
|
71
63
|
class: n([[t.value], "ds-cursor-default"])
|
|
72
64
|
}, [
|
|
73
|
-
|
|
65
|
+
l("a", null, r(g))
|
|
74
66
|
], 2), [
|
|
75
67
|
[i, e.value > 3]
|
|
76
68
|
]),
|
|
77
|
-
o(
|
|
69
|
+
o(l("li", {
|
|
78
70
|
class: n([[t.value, u(!1)], "ds-cursor-pointer"]),
|
|
79
|
-
onClick: a[1] || (a[1] = (m) =>
|
|
71
|
+
onClick: a[1] || (a[1] = (m) => v(e.value - 1))
|
|
80
72
|
}, [
|
|
81
|
-
|
|
73
|
+
l("a", null, r(e.value - 1), 1)
|
|
82
74
|
], 2), [
|
|
83
75
|
[i, e.value > 2]
|
|
84
76
|
]),
|
|
85
|
-
o(
|
|
77
|
+
o(l("li", {
|
|
86
78
|
class: n([[t.value, u()], "ds-cursor-pointer"]),
|
|
87
|
-
onClick: a[2] || (a[2] = (m) =>
|
|
79
|
+
onClick: a[2] || (a[2] = (m) => v(e.value))
|
|
88
80
|
}, [
|
|
89
|
-
|
|
81
|
+
l("a", null, r(e.value), 1)
|
|
90
82
|
], 2), [
|
|
91
|
-
[i, e.value !== 1 && e.value !==
|
|
83
|
+
[i, e.value !== 1 && e.value !== s.numberOfPages]
|
|
92
84
|
]),
|
|
93
|
-
o(
|
|
85
|
+
o(l("li", {
|
|
94
86
|
class: n([[t.value, u(!1)], "ds-cursor-pointer"]),
|
|
95
|
-
onClick: a[3] || (a[3] = (m) =>
|
|
87
|
+
onClick: a[3] || (a[3] = (m) => v(e.value + 1))
|
|
96
88
|
}, [
|
|
97
|
-
|
|
89
|
+
l("a", null, r(e.value + 1), 1)
|
|
98
90
|
], 2), [
|
|
99
|
-
[i, e.value <
|
|
91
|
+
[i, e.value < s.numberOfPages - 1]
|
|
100
92
|
]),
|
|
101
|
-
o(
|
|
93
|
+
o(l("li", {
|
|
102
94
|
class: n([[t.value], "ds-cursor-default"])
|
|
103
95
|
}, [
|
|
104
|
-
|
|
96
|
+
l("a", null, r(g))
|
|
105
97
|
], 2), [
|
|
106
|
-
[i, e.value <
|
|
98
|
+
[i, e.value < s.numberOfPages - 2]
|
|
107
99
|
]),
|
|
108
|
-
o(
|
|
109
|
-
class: n([[t.value, u(e.value ===
|
|
110
|
-
onClick: a[4] || (a[4] = (m) =>
|
|
100
|
+
o(l("li", {
|
|
101
|
+
class: n([[t.value, u(e.value === s.numberOfPages)], "ds-cursor-pointer"]),
|
|
102
|
+
onClick: a[4] || (a[4] = (m) => v(s.numberOfPages))
|
|
111
103
|
}, [
|
|
112
|
-
|
|
104
|
+
l("a", null, r(s.numberOfPages), 1)
|
|
113
105
|
], 2), [
|
|
114
|
-
[i,
|
|
106
|
+
[i, s.numberOfPages > 1]
|
|
115
107
|
]),
|
|
116
|
-
|
|
108
|
+
l("li", {
|
|
117
109
|
class: n([[t.value, u(!1)], "ds-cursor-pointer"]),
|
|
118
|
-
onClick:
|
|
119
|
-
},
|
|
110
|
+
onClick: P
|
|
111
|
+
}, a[6] || (a[6] = [
|
|
112
|
+
l("svg", {
|
|
113
|
+
class: "ds-h-4 ds-w-4 ds-fill-black/80",
|
|
114
|
+
viewBox: "0 0 320 512",
|
|
115
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
116
|
+
}, [
|
|
117
|
+
l("path", { d: "M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" })
|
|
118
|
+
], -1)
|
|
119
|
+
]), 2)
|
|
120
120
|
])
|
|
121
121
|
]));
|
|
122
122
|
}
|
|
123
123
|
});
|
|
124
124
|
export {
|
|
125
|
-
|
|
125
|
+
h as default
|
|
126
126
|
};
|
|
127
127
|
//# sourceMappingURL=design-system19.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system19.mjs","sources":["../src/components/BPagination.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-inline-flex ds-space-x-1\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", { d: \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\" })\n], -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", { d: \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\" })\n], -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { BPaginationSize } from '@/constants/Enums';\nimport { computed } from 'vue';\n\n//#region Props\nexport interface BPaginationProps {\n /**\n * Start by 1.\n */\n modelValue: number;\n numberOfPages: number;\n /**\n * Bordered buttons.\n */\n border?: boolean;\n /**\n * Transparent background buttons.\n */\n transparent?: boolean;\n size?: `${BPaginationSize}`;\n}\n\nconst First = 1;\nconst EllipsisText = '...';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BPagination',\n props: {\n modelValue: {},\n numberOfPages: {},\n border: { type: Boolean, default: false },\n transparent: { type: Boolean, default: false },\n size: { default: BPaginationSize.Medium }\n },\n emits: [\"change\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst value = computed({\n get() {\n return props.modelValue + 1;\n },\n set(val: number) {\n emit('update:modelValue', val - 1);\n },\n});\nconst paginationItemClass = computed(() => {\n let result = `\n ds-flex ds-items-center ds-justify-center\n ds-rounded-lg `;\n\n if (props.border) {\n result += 'ds-border ds-border-gray-300 ';\n }\n\n switch (props.size) {\n case BPaginationSize.Small:\n result += `ds-w-8 ds-h-8 `;\n break;\n case BPaginationSize.Medium:\n default:\n result += `ds-w-10 ds-h-10 `;\n break;\n }\n\n return result;\n});\n//#endregion\n\n//#region Methods\nconst clickPage = (page: number) => {\n value.value = page;\n // Emitted when page changes via user interaction\n emit('change', value.value);\n};\nconst clickPrevious = () => {\n if (value.value > 1) {\n value.value--;\n emit('change', value.value);\n }\n};\nconst clickNext = () => {\n if (value.value < props.numberOfPages) {\n value.value++;\n emit('change', value.value);\n }\n};\nconst getActiveClass = (isActive: boolean = true) => {\n return isActive\n ? `ds-text-white ds-bg-primary-t `\n : `ds-text-black/80 ${\n props.transparent ? 'ds-bg-transparent' : 'ds-bg-white'\n }`;\n};\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"nav\", null, [\n _createElementVNode(\"ul\", _hoisted_1, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-ml-0 ds-cursor-pointer\"]),\n onClick: clickPrevious\n }, _hoisted_3, 2),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[getActiveClass(value.value === 1), paginationItemClass.value], \"ds-cursor-pointer\"]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (clickPage(1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(First))\n ], 2),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value > 3]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (clickPage(value.value - 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value - 1), 1)\n ], 2), [\n [_vShow, value.value > 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass()], \"ds-cursor-pointer\"]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (clickPage(value.value)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value), 1)\n ], 2), [\n [_vShow, value.value !== 1 && value.value !== _ctx.numberOfPages]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (clickPage(value.value + 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value + 1), 1)\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 1]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(value.value === _ctx.numberOfPages)], \"ds-cursor-pointer\"]),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (clickPage(_ctx.numberOfPages)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(_ctx.numberOfPages), 1)\n ], 2), [\n [_vShow, _ctx.numberOfPages > 1]\n ]),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: clickNext\n }, _hoisted_5, 2)\n ])\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","_hoisted_5","First","EllipsisText","_sfc_main","_defineComponent","BPaginationSize","__props","__emit","props","emit","value","computed","val","paginationItemClass","result","clickPage","page","clickPrevious","clickNext","getActiveClass","isActive","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","$event","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system19.mjs","sources":["../src/components/BPagination.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-inline-flex ds-space-x-1\" }\n\nimport { BPaginationSize } from '@/constants/Enums';\nimport { computed } from 'vue';\n\n//#region Props\nexport interface BPaginationProps {\n /**\n * Start by 1.\n */\n modelValue: number;\n numberOfPages: number;\n /**\n * Bordered buttons.\n */\n border?: boolean;\n /**\n * Transparent background buttons.\n */\n transparent?: boolean;\n size?: `${BPaginationSize}`;\n}\n\nconst First = 1;\nconst EllipsisText = '...';\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BPagination',\n props: {\n modelValue: {},\n numberOfPages: {},\n border: { type: Boolean, default: false },\n transparent: { type: Boolean, default: false },\n size: { default: BPaginationSize.Medium }\n },\n emits: [\"change\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst value = computed({\n get() {\n return props.modelValue + 1;\n },\n set(val: number) {\n emit('update:modelValue', val - 1);\n },\n});\nconst paginationItemClass = computed(() => {\n let result = `\n ds-flex ds-items-center ds-justify-center\n ds-rounded-lg `;\n\n if (props.border) {\n result += 'ds-border ds-border-gray-300 ';\n }\n\n switch (props.size) {\n case BPaginationSize.Small:\n result += `ds-w-8 ds-h-8 `;\n break;\n case BPaginationSize.Medium:\n default:\n result += `ds-w-10 ds-h-10 `;\n break;\n }\n\n return result;\n});\n//#endregion\n\n//#region Methods\nconst clickPage = (page: number) => {\n value.value = page;\n // Emitted when page changes via user interaction\n emit('change', value.value);\n};\nconst clickPrevious = () => {\n if (value.value > 1) {\n value.value--;\n emit('change', value.value);\n }\n};\nconst clickNext = () => {\n if (value.value < props.numberOfPages) {\n value.value++;\n emit('change', value.value);\n }\n};\nconst getActiveClass = (isActive: boolean = true) => {\n return isActive\n ? `ds-text-white ds-bg-primary-t `\n : `ds-text-black/80 ${\n props.transparent ? 'ds-bg-transparent' : 'ds-bg-white'\n }`;\n};\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"nav\", null, [\n _createElementVNode(\"ul\", _hoisted_1, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-ml-0 ds-cursor-pointer\"]),\n onClick: clickPrevious\n }, _cache[5] || (_cache[5] = [\n _createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n _createElementVNode(\"path\", { d: \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\" })\n ], -1)\n ]), 2),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[getActiveClass(value.value === 1), paginationItemClass.value], \"ds-cursor-pointer\"]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (clickPage(1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(First))\n ], 2),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value > 3]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (clickPage(value.value - 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value - 1), 1)\n ], 2), [\n [_vShow, value.value > 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass()], \"ds-cursor-pointer\"]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (clickPage(value.value)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value), 1)\n ], 2), [\n [_vShow, value.value !== 1 && value.value !== _ctx.numberOfPages]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (clickPage(value.value + 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value + 1), 1)\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 1]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(value.value === _ctx.numberOfPages)], \"ds-cursor-pointer\"]),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (clickPage(_ctx.numberOfPages)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(_ctx.numberOfPages), 1)\n ], 2), [\n [_vShow, _ctx.numberOfPages > 1]\n ]),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: clickNext\n }, _cache[6] || (_cache[6] = [\n _createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n _createElementVNode(\"path\", { d: \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\" })\n ], -1)\n ]), 2)\n ])\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","First","EllipsisText","_sfc_main","_defineComponent","BPaginationSize","__props","__emit","props","emit","value","computed","val","paginationItemClass","result","clickPage","page","clickPrevious","clickNext","getActiveClass","isActive","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","$event","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
|
package/dist/design-system20.mjs
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { defineComponent as J, ref as
|
|
1
|
+
import { defineComponent as J, ref as r, computed as h, watch as M, nextTick as R, onMounted as K, onBeforeUnmount as Q, openBlock as o, createElementBlock as d, createElementVNode as n, createVNode as X, createBlock as P, withCtx as Y, normalizeClass as i, toDisplayString as $, createTextVNode as Z, withDirectives as ee, Fragment as se, renderList as te, vShow as le, unref as oe, createCommentVNode as ae } from "vue";
|
|
2
2
|
import { useValidationField as de } from "./design-system3.mjs";
|
|
3
|
-
import { lockScrollBody as ne, unlockScrollBody as
|
|
4
|
-
import { useI18n as
|
|
3
|
+
import { lockScrollBody as ne, unlockScrollBody as S, ensureVisiblePosition as ue, resetPosition as re } from "./design-system6.mjs";
|
|
4
|
+
import { useI18n as ie } from "./design-system49.mjs";
|
|
5
5
|
import ce from "./design-system14.mjs";
|
|
6
6
|
import ve from "./design-system15.mjs";
|
|
7
7
|
import pe from "./design-system39.mjs";
|
|
8
8
|
import fe from "./design-system98.mjs";
|
|
9
|
-
const me =
|
|
10
|
-
me
|
|
11
|
-
], be = ["id", "disabled"], ge = { key: 0 }, ke = {
|
|
9
|
+
const me = ["id", "disabled"], be = { key: 0 }, ge = {
|
|
12
10
|
key: 1,
|
|
13
11
|
class: "ds-text-black/[0.4]"
|
|
14
|
-
},
|
|
15
|
-
we
|
|
16
|
-
], Ce = ["id", "data-cy", "data-ut"], xe = { class: "ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow" }, _e = { class: "ds-py-1 ds-text-sm ds-text-black/[0.85]" }, Ee = ["onClick"], Te = /* @__PURE__ */ J({
|
|
12
|
+
}, ke = ["id", "data-cy", "data-ut"], he = { class: "ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow" }, we = { class: "ds-py-1 ds-text-sm ds-text-black/[0.85]" }, ye = ["onClick"], Re = /* @__PURE__ */ J({
|
|
17
13
|
__name: "BSelect",
|
|
18
14
|
props: {
|
|
19
15
|
inputId: { default: "" },
|
|
@@ -31,37 +27,37 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
|
|
|
31
27
|
allowInput: { type: Boolean, default: !1 }
|
|
32
28
|
},
|
|
33
29
|
emits: ["change", "open", "close", "change:input", "update:modelValue"],
|
|
34
|
-
setup(
|
|
35
|
-
const
|
|
30
|
+
setup(T, { expose: _, emit: z }) {
|
|
31
|
+
const t = T, c = z, v = r(null), w = r(null), p = r(null), a = r(!1), { t: D } = ie(), F = {
|
|
36
32
|
validateRule: (e) => !!e,
|
|
37
|
-
errorMessage: () =>
|
|
38
|
-
}, y =
|
|
33
|
+
errorMessage: () => t.requiredErrorMessage || D("ds.global.field_required")
|
|
34
|
+
}, y = r(""), f = r(), m = h(() => t.inputId || `id-${fe()}`), u = h({
|
|
39
35
|
get() {
|
|
40
|
-
return
|
|
36
|
+
return t.modelValue;
|
|
41
37
|
},
|
|
42
38
|
set(e) {
|
|
43
39
|
c("update:modelValue", e);
|
|
44
40
|
}
|
|
45
|
-
}), N =
|
|
41
|
+
}), N = h(() => {
|
|
46
42
|
let e = "ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between ";
|
|
47
|
-
return e +=
|
|
48
|
-
}), O =
|
|
43
|
+
return e += t.disabled ? "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] " : "ds-bg-white ds-text-black/[0.85] ", e += V.value.valid ? "ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus " : "ds-border-error focus:ds-ring-1 focus:ds-ring-error ", e;
|
|
44
|
+
}), O = h(() => {
|
|
49
45
|
let e = [];
|
|
50
|
-
return
|
|
51
|
-
}), { validate:
|
|
46
|
+
return t.required && e.push(F), t.validationRules && (e = e.concat(t.validationRules)), e.length ? e : void 0;
|
|
47
|
+
}), { validate: B, validationResult: V } = de(
|
|
52
48
|
m.value,
|
|
53
49
|
u,
|
|
54
50
|
O.value
|
|
55
51
|
);
|
|
56
|
-
|
|
57
|
-
e ? (ne(), G(), c("open")) : (
|
|
58
|
-
}),
|
|
59
|
-
C(),
|
|
60
|
-
}),
|
|
61
|
-
() =>
|
|
52
|
+
M(a, (e) => {
|
|
53
|
+
e ? (ne(), G(), c("open")) : (S(), L(), c("close"));
|
|
54
|
+
}), M(u, () => {
|
|
55
|
+
C(), b();
|
|
56
|
+
}), M(
|
|
57
|
+
() => t.items,
|
|
62
58
|
() => {
|
|
63
59
|
var e;
|
|
64
|
-
u.value && !((e = f.value) != null && e.value) && (C(),
|
|
60
|
+
u.value && !((e = f.value) != null && e.value) && (C(), b());
|
|
65
61
|
},
|
|
66
62
|
{
|
|
67
63
|
deep: !0
|
|
@@ -69,44 +65,44 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
|
|
|
69
65
|
);
|
|
70
66
|
const C = () => {
|
|
71
67
|
var e;
|
|
72
|
-
f.value = (e =
|
|
73
|
-
},
|
|
68
|
+
f.value = (e = t.items) == null ? void 0 : e.find((s) => s.value === u.value);
|
|
69
|
+
}, b = () => {
|
|
74
70
|
var e;
|
|
75
|
-
|
|
71
|
+
t.allowInput && (y.value = ((e = f.value) == null ? void 0 : e.text) || "");
|
|
76
72
|
}, U = () => {
|
|
77
|
-
document.addEventListener("keydown",
|
|
78
|
-
},
|
|
73
|
+
document.addEventListener("keydown", I);
|
|
74
|
+
}, I = (e) => {
|
|
79
75
|
e.key === "Escape" && x();
|
|
80
76
|
}, W = () => {
|
|
81
|
-
document.addEventListener("click",
|
|
82
|
-
},
|
|
83
|
-
[v.value, p.value].some((
|
|
77
|
+
document.addEventListener("click", q);
|
|
78
|
+
}, q = (e) => {
|
|
79
|
+
[v.value, p.value].some((g) => e.composedPath().includes(g)) || x();
|
|
84
80
|
}, j = (e) => {
|
|
85
|
-
u.value = e.value, x(), c("change", e.value),
|
|
86
|
-
|
|
81
|
+
u.value = e.value, x(), c("change", e.value), R(() => {
|
|
82
|
+
B();
|
|
87
83
|
});
|
|
88
|
-
}, A = (e,
|
|
89
|
-
|
|
84
|
+
}, A = (e, s) => {
|
|
85
|
+
s.style.width = `${e.offsetWidth}px`;
|
|
90
86
|
}, G = () => {
|
|
91
|
-
|
|
87
|
+
R(() => {
|
|
92
88
|
ue(v.value, p.value), A(v.value, p.value);
|
|
93
89
|
});
|
|
94
|
-
},
|
|
95
|
-
|
|
90
|
+
}, L = () => {
|
|
91
|
+
re(v.value, p.value);
|
|
96
92
|
}, H = (e) => {
|
|
97
93
|
c("change:input", e);
|
|
98
94
|
}, x = () => {
|
|
99
95
|
var e;
|
|
100
|
-
a.value = !1, (e = w.value) == null || e.blur(),
|
|
96
|
+
a.value = !1, (e = w.value) == null || e.blur(), b();
|
|
101
97
|
};
|
|
102
98
|
return (() => {
|
|
103
|
-
C(),
|
|
99
|
+
C(), b();
|
|
104
100
|
})(), K(() => {
|
|
105
101
|
U(), W();
|
|
106
102
|
}), Q(() => {
|
|
107
|
-
document.removeEventListener("keydown",
|
|
108
|
-
}),
|
|
109
|
-
var
|
|
103
|
+
document.removeEventListener("keydown", I), document.removeEventListener("click", q), S(), L();
|
|
104
|
+
}), _({ validate: B, selectMenu: a }), (e, s) => {
|
|
105
|
+
var E, g;
|
|
110
106
|
return o(), d("div", null, [
|
|
111
107
|
n("div", {
|
|
112
108
|
ref_key: "selectEl",
|
|
@@ -117,84 +113,88 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
|
|
|
117
113
|
label: e.label,
|
|
118
114
|
required: e.required
|
|
119
115
|
}, null, 8, ["id", "label", "required"]),
|
|
120
|
-
|
|
116
|
+
t.allowInput ? (o(), P(pe, {
|
|
121
117
|
key: 0,
|
|
122
118
|
id: m.value,
|
|
123
119
|
ref_key: "inputRef",
|
|
124
120
|
ref: w,
|
|
125
121
|
modelValue: y.value,
|
|
126
122
|
"onUpdate:modelValue": [
|
|
127
|
-
|
|
123
|
+
s[0] || (s[0] = (l) => y.value = l),
|
|
128
124
|
H
|
|
129
125
|
],
|
|
130
|
-
disabled:
|
|
131
|
-
placeholder:
|
|
126
|
+
disabled: t.disabled,
|
|
127
|
+
placeholder: t.placeholder,
|
|
132
128
|
"hide-details": "",
|
|
133
|
-
onFocus:
|
|
134
|
-
"onClick:append":
|
|
135
|
-
var
|
|
136
|
-
return (
|
|
129
|
+
onFocus: s[1] || (s[1] = (l) => a.value = !0),
|
|
130
|
+
"onClick:append": s[2] || (s[2] = (l) => {
|
|
131
|
+
var k;
|
|
132
|
+
return (k = w.value) == null ? void 0 : k.focus();
|
|
137
133
|
})
|
|
138
134
|
}, {
|
|
139
135
|
appendIcon: Y(() => [
|
|
140
136
|
(o(), d("svg", {
|
|
141
|
-
class:
|
|
137
|
+
class: i([[a.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
|
|
142
138
|
viewBox: "0 0 320 512",
|
|
143
139
|
xmlns: "http://www.w3.org/2000/svg"
|
|
144
|
-
},
|
|
140
|
+
}, s[4] || (s[4] = [
|
|
141
|
+
n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
|
|
142
|
+
]), 2))
|
|
145
143
|
]),
|
|
146
144
|
_: 1
|
|
147
145
|
}, 8, ["id", "modelValue", "disabled", "placeholder"])) : (o(), d("button", {
|
|
148
146
|
key: 1,
|
|
149
147
|
id: m.value,
|
|
150
|
-
class:
|
|
151
|
-
disabled:
|
|
148
|
+
class: i(N.value),
|
|
149
|
+
disabled: t.disabled,
|
|
152
150
|
type: "button",
|
|
153
|
-
onClick:
|
|
151
|
+
onClick: s[3] || (s[3] = (l) => a.value = !a.value)
|
|
154
152
|
}, [
|
|
155
153
|
n("span", {
|
|
156
|
-
class:
|
|
154
|
+
class: i([e.valueCssClass, "ds-truncate"])
|
|
157
155
|
}, [
|
|
158
|
-
(
|
|
156
|
+
(E = f.value) != null && E.text ? (o(), d("span", be, $((g = f.value) == null ? void 0 : g.text), 1)) : (o(), d("span", ge, $(t.placeholder), 1))
|
|
159
157
|
], 2),
|
|
160
|
-
Z(" "),
|
|
158
|
+
s[6] || (s[6] = Z(" ")),
|
|
161
159
|
(o(), d("svg", {
|
|
162
|
-
class:
|
|
160
|
+
class: i([[a.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
|
|
163
161
|
viewBox: "0 0 320 512",
|
|
164
162
|
xmlns: "http://www.w3.org/2000/svg"
|
|
165
|
-
},
|
|
166
|
-
|
|
163
|
+
}, s[5] || (s[5] = [
|
|
164
|
+
n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
|
|
165
|
+
]), 2))
|
|
166
|
+
], 10, me)),
|
|
167
167
|
ee(n("div", {
|
|
168
168
|
id: `${m.value}Menu`,
|
|
169
169
|
ref_key: "selectMenuEl",
|
|
170
170
|
ref: p,
|
|
171
|
-
class:
|
|
171
|
+
class: i([e.menuCssClass, "ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1"]),
|
|
172
172
|
"data-cy": e.$attrs["data-cy"] ? `${e.$attrs["data-cy"]}Menu` : void 0,
|
|
173
173
|
"data-ut": e.$attrs["data-ut"] ? `${e.$attrs["data-ut"]}Menu` : void 0
|
|
174
174
|
}, [
|
|
175
|
-
n("div",
|
|
176
|
-
n("ul",
|
|
177
|
-
(o(!0), d(se, null, te(e.items, (l,
|
|
178
|
-
key: `item${
|
|
175
|
+
n("div", he, [
|
|
176
|
+
n("ul", we, [
|
|
177
|
+
(o(!0), d(se, null, te(e.items, (l, k) => (o(), d("li", {
|
|
178
|
+
key: `item${k}`,
|
|
179
179
|
class: "ds-cursor-pointer",
|
|
180
|
-
onClick: (
|
|
180
|
+
onClick: (xe) => j(l)
|
|
181
181
|
}, [
|
|
182
182
|
n("a", {
|
|
183
|
-
class:
|
|
183
|
+
class: i([
|
|
184
184
|
l.cssClass + `${l.value === u.value ? " ds-bg-gray-150" : ""}`,
|
|
185
185
|
"ds-block ds-px-4 ds-py-2 hover:ds-bg-gray-150"
|
|
186
186
|
])
|
|
187
|
-
},
|
|
188
|
-
], 8,
|
|
187
|
+
}, $(l == null ? void 0 : l.text), 3)
|
|
188
|
+
], 8, ye))), 128))
|
|
189
189
|
])
|
|
190
190
|
])
|
|
191
|
-
], 10,
|
|
191
|
+
], 10, ke), [
|
|
192
192
|
[le, a.value]
|
|
193
193
|
])
|
|
194
194
|
], 512),
|
|
195
|
-
e.hideDetails ? ae("", !0) : (o(),
|
|
195
|
+
e.hideDetails ? ae("", !0) : (o(), P(ce, {
|
|
196
196
|
key: 0,
|
|
197
|
-
"error-message": oe(
|
|
197
|
+
"error-message": oe(V).errorMessage(),
|
|
198
198
|
class: "ds-mt-1"
|
|
199
199
|
}, null, 8, ["error-message"]))
|
|
200
200
|
]);
|
|
@@ -202,6 +202,6 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
|
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
export {
|
|
205
|
-
|
|
205
|
+
Re as default
|
|
206
206
|
};
|
|
207
207
|
//# sourceMappingURL=design-system20.mjs.map
|