@7pmlabs/design-system 0.6.0 → 0.6.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-system100.js +1 -1
- package/dist/design-system100.js.map +1 -1
- package/dist/design-system100.mjs +15 -65
- package/dist/design-system100.mjs.map +1 -1
- package/dist/design-system101.js +1 -1
- package/dist/design-system101.js.map +1 -1
- package/dist/design-system101.mjs +65 -15
- package/dist/design-system101.mjs.map +1 -1
- package/dist/design-system104.js +1 -1
- package/dist/design-system104.mjs +1 -1
- package/dist/design-system107.js +1 -1
- package/dist/design-system107.mjs +1 -1
- package/dist/design-system108.js +1 -1
- package/dist/design-system108.js.map +1 -1
- package/dist/design-system108.mjs +13 -14
- package/dist/design-system108.mjs.map +1 -1
- package/dist/design-system109.js +1 -1
- package/dist/design-system109.js.map +1 -1
- package/dist/design-system109.mjs +11 -12
- package/dist/design-system109.mjs.map +1 -1
- package/dist/design-system11.js +1 -1
- package/dist/design-system11.js.map +1 -1
- package/dist/design-system11.mjs +20 -20
- package/dist/design-system11.mjs.map +1 -1
- package/dist/design-system110.js +1 -1
- package/dist/design-system110.mjs +10 -10
- package/dist/design-system111.js +1 -1
- package/dist/design-system111.mjs +8 -8
- package/dist/design-system112.js +1 -1
- package/dist/design-system112.mjs +6 -6
- package/dist/design-system113.js +1 -1
- package/dist/design-system113.js.map +1 -1
- package/dist/design-system113.mjs +2 -2
- package/dist/design-system113.mjs.map +1 -1
- package/dist/design-system114.js +1 -1
- package/dist/design-system114.js.map +1 -1
- package/dist/design-system114.mjs +15 -16
- package/dist/design-system114.mjs.map +1 -1
- package/dist/design-system115.js +1 -1
- package/dist/design-system115.mjs +4 -4
- package/dist/design-system118.js +1 -1
- package/dist/design-system118.mjs +1 -1
- package/dist/design-system119.js +1 -1
- package/dist/design-system119.mjs +1 -1
- package/dist/design-system128.js +1 -1
- package/dist/design-system128.js.map +1 -1
- package/dist/design-system128.mjs +21 -26
- package/dist/design-system128.mjs.map +1 -1
- package/dist/design-system13.js +1 -1
- package/dist/design-system13.mjs +1 -1
- package/dist/design-system17.js +1 -1
- package/dist/design-system17.mjs +1 -1
- package/dist/design-system18.js +1 -1
- package/dist/design-system18.mjs +1 -1
- package/dist/design-system19.js +1 -1
- package/dist/design-system19.mjs +1 -1
- package/dist/design-system21.js +1 -1
- package/dist/design-system21.mjs +1 -1
- package/dist/design-system22.js +1 -1
- package/dist/design-system22.mjs +1 -1
- package/dist/design-system25.js +1 -1
- package/dist/design-system25.mjs +1 -1
- package/dist/design-system26.js +1 -1
- package/dist/design-system26.js.map +1 -1
- package/dist/design-system26.mjs +226 -228
- package/dist/design-system26.mjs.map +1 -1
- package/dist/design-system27.js +1 -1
- package/dist/design-system27.mjs +3 -3
- package/dist/design-system28.js +1 -1
- package/dist/design-system28.mjs +4 -4
- package/dist/design-system29.js +1 -1
- package/dist/design-system29.mjs +3 -3
- package/dist/design-system30.js +1 -1
- package/dist/design-system30.mjs +1 -1
- package/dist/design-system31.js +1 -1
- package/dist/design-system31.mjs +3 -3
- package/dist/design-system32.js +1 -1
- package/dist/design-system32.mjs +3 -3
- package/dist/design-system33.js +1 -1
- package/dist/design-system33.mjs +1 -1
- package/dist/design-system34.js +1 -1
- package/dist/design-system34.mjs +1 -1
- package/dist/design-system35.js +1 -1
- package/dist/design-system35.mjs +1 -1
- package/dist/design-system36.js +1 -1
- package/dist/design-system36.mjs +1 -1
- package/dist/design-system37.js +1 -1
- package/dist/design-system37.mjs +3 -3
- package/dist/design-system38.js +1 -1
- package/dist/design-system38.mjs +2 -2
- package/dist/design-system39.js +1 -1
- package/dist/design-system39.mjs +3 -3
- package/dist/design-system40.js +1 -1
- package/dist/design-system40.mjs +3 -3
- package/dist/design-system42.js +1 -1
- package/dist/design-system42.mjs +3 -3
- package/dist/design-system43.js +1 -1
- package/dist/design-system43.mjs +1 -1
- package/dist/design-system44.js +1 -1
- package/dist/design-system44.mjs +1 -1
- package/dist/design-system45.js +1 -1
- package/dist/design-system45.mjs +3 -3
- package/dist/design-system47.js +1 -1
- package/dist/design-system47.mjs +3 -3
- package/dist/design-system48.js +1 -1
- package/dist/design-system48.mjs +3 -3
- package/dist/design-system50.js +1 -1
- package/dist/design-system50.mjs +3 -3
- package/dist/design-system51.js +1 -6
- package/dist/design-system51.js.map +1 -1
- package/dist/design-system51.mjs +2 -140
- package/dist/design-system51.mjs.map +1 -1
- package/dist/design-system52.js +1 -8
- package/dist/design-system52.js.map +1 -1
- package/dist/design-system52.mjs +126 -1090
- package/dist/design-system52.mjs.map +1 -1
- package/dist/design-system53.js +1 -7
- package/dist/design-system53.js.map +1 -1
- package/dist/design-system53.mjs +2 -1002
- package/dist/design-system53.mjs.map +1 -1
- package/dist/design-system54.js +1 -1
- package/dist/design-system54.mjs +7 -2
- package/dist/design-system54.mjs.map +1 -1
- package/dist/design-system55.js +1 -1
- package/dist/design-system55.js.map +1 -1
- package/dist/design-system55.mjs +20 -124
- package/dist/design-system55.mjs.map +1 -1
- package/dist/design-system57.js +1 -1
- package/dist/design-system57.mjs +2 -7
- package/dist/design-system57.mjs.map +1 -1
- package/dist/design-system58.js +1 -1
- package/dist/design-system58.js.map +1 -1
- package/dist/design-system58.mjs +61 -19
- package/dist/design-system58.mjs.map +1 -1
- package/dist/design-system60.js +1 -1
- package/dist/design-system60.mjs +2 -2
- package/dist/design-system61.js +1 -1
- package/dist/design-system61.js.map +1 -1
- package/dist/design-system61.mjs +2 -65
- package/dist/design-system61.mjs.map +1 -1
- package/dist/design-system62.js +1 -1
- package/dist/design-system62.mjs +2 -2
- package/dist/design-system63.js +1 -1
- package/dist/design-system63.mjs +1 -1
- package/dist/design-system64.js +1 -1
- package/dist/design-system64.mjs +1 -1
- package/dist/design-system65.js +1 -1
- package/dist/design-system65.js.map +1 -1
- package/dist/design-system65.mjs +28 -2
- package/dist/design-system65.mjs.map +1 -1
- package/dist/design-system66.js +1 -1
- package/dist/design-system66.mjs +2 -2
- package/dist/design-system67.js +1 -1
- package/dist/design-system67.js.map +1 -1
- package/dist/design-system67.mjs +58 -2
- package/dist/design-system67.mjs.map +1 -1
- package/dist/design-system68.js +1 -1
- package/dist/design-system68.js.map +1 -1
- package/dist/design-system68.mjs +2 -28
- package/dist/design-system68.mjs.map +1 -1
- package/dist/design-system69.js +1 -1
- package/dist/design-system69.mjs +2 -2
- package/dist/design-system70.js +1 -1
- package/dist/design-system70.js.map +1 -1
- package/dist/design-system70.mjs +2 -58
- package/dist/design-system70.mjs.map +1 -1
- package/dist/design-system71.js +1 -1
- package/dist/design-system71.mjs +2 -2
- package/dist/design-system72.js +1 -1
- package/dist/design-system72.mjs +1 -1
- package/dist/design-system73.js +1 -1
- package/dist/design-system73.js.map +1 -1
- package/dist/design-system73.mjs +79 -2
- package/dist/design-system73.mjs.map +1 -1
- package/dist/design-system74.js +1 -1
- package/dist/design-system74.mjs +2 -2
- package/dist/design-system75.js +1 -1
- package/dist/design-system75.mjs +1 -1
- package/dist/design-system76.js +1 -1
- package/dist/design-system76.js.map +1 -1
- package/dist/design-system76.mjs +2 -79
- package/dist/design-system76.mjs.map +1 -1
- package/dist/design-system77.js +1 -1
- package/dist/design-system77.js.map +1 -1
- package/dist/design-system77.mjs +81 -2
- package/dist/design-system77.mjs.map +1 -1
- package/dist/design-system78.js +1 -1
- package/dist/design-system78.mjs +2 -2
- package/dist/design-system79.js +1 -1
- package/dist/design-system79.mjs +2 -2
- package/dist/design-system80.js +1 -1
- package/dist/design-system80.js.map +1 -1
- package/dist/design-system80.mjs +109 -71
- package/dist/design-system80.mjs.map +1 -1
- package/dist/design-system82.js +1 -1
- package/dist/design-system82.mjs +1 -1
- package/dist/design-system83.js +1 -1
- package/dist/design-system83.js.map +1 -1
- package/dist/design-system83.mjs +2 -119
- package/dist/design-system83.mjs.map +1 -1
- package/dist/design-system84.js +1 -1
- package/dist/design-system84.js.map +1 -1
- package/dist/design-system84.mjs +102 -2
- package/dist/design-system84.mjs.map +1 -1
- package/dist/design-system85.js +1 -1
- package/dist/design-system85.mjs +2 -2
- package/dist/design-system86.js +1 -1
- package/dist/design-system86.js.map +1 -1
- package/dist/design-system86.mjs +190 -2
- package/dist/design-system86.mjs.map +1 -1
- package/dist/design-system87.js +1 -1
- package/dist/design-system87.js.map +1 -1
- package/dist/design-system87.mjs +2 -102
- package/dist/design-system87.mjs.map +1 -1
- package/dist/design-system88.js +1 -1
- package/dist/design-system88.mjs +2 -2
- package/dist/design-system89.js +1 -1
- package/dist/design-system89.js.map +1 -1
- package/dist/design-system89.mjs +122 -170
- package/dist/design-system89.mjs.map +1 -1
- package/dist/design-system91.js +1 -1
- package/dist/design-system91.js.map +1 -1
- package/dist/design-system91.mjs +49 -2
- package/dist/design-system91.mjs.map +1 -1
- package/dist/design-system92.js +1 -1
- package/dist/design-system92.js.map +1 -1
- package/dist/design-system92.mjs +2 -142
- package/dist/design-system92.mjs.map +1 -1
- package/dist/design-system93.js +1 -1
- package/dist/design-system93.mjs +2 -2
- package/dist/design-system94.js +1 -1
- package/dist/design-system94.js.map +1 -1
- package/dist/design-system94.mjs +2 -49
- package/dist/design-system94.mjs.map +1 -1
- package/dist/design-system95.js +1 -1
- package/dist/design-system95.mjs +2 -2
- package/dist/design-system96.js +6 -1
- package/dist/design-system96.js.map +1 -1
- package/dist/design-system96.mjs +140 -2
- package/dist/design-system96.mjs.map +1 -1
- package/dist/design-system97.js +8 -1
- package/dist/design-system97.js.map +1 -1
- package/dist/design-system97.mjs +1091 -2
- package/dist/design-system97.mjs.map +1 -1
- package/dist/design-system98.js +7 -1
- package/dist/design-system98.js.map +1 -1
- package/dist/design-system98.mjs +1002 -2
- package/dist/design-system98.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system80.js","sources":["../src/components/BTabs/BTabs.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-646ae8c4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ds-flex ds-flex-wrap ds-overflow-hidden ds-rounded-lg ds-border ds-border-gray-100 ds-bg-gray-100\" }\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = [\"id\"]\n\nimport type { BTabsHeader } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport { computed, nextTick, onMounted, ref, watch } from 'vue';\n\n//#region Props\nexport interface BTabsProps {\n /**\n * Array of header objects.\n */\n headers: BTabsHeader[];\n /**\n * Index of tab.\n */\n modelValue?: number;\n /**\n * CSS of header.\n */\n headerCssClass?: string;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTabs',\n props: {\n headers: {},\n modelValue: { default: undefined },\n headerCssClass: { default: '' }\n },\n emits: [\"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 tabContainer = ref<HTMLElement | null>(null);\nconst tabHeaders = ref<HTMLElement[] | null>(null);\nconst tabs = ref<Element[] | null>(null);\nconst activeTabIndex = ref(0);\nconst mValue = ref(0);\nconst value = computed({\n get() {\n return props.modelValue !== undefined ? props.modelValue : mValue.value;\n },\n set(val) {\n if (props.modelValue !== undefined) {\n emit('update:modelValue', val);\n } else {\n mValue.value = val;\n }\n },\n});\nconst tabBodyId = computed(() => `id-${uuid()}`);\n//#endregion\n\n//#region Watchers\nwatch(value, (val) => {\n selectTab(val);\n});\nwatch(\n () => props.headers,\n () => {\n nextTick(() => {\n initTabs();\n });\n },\n);\n//#endregion\n\n//#region Methods\nconst onClickTabHeader = (index: number) => {\n value.value = index;\n};\nconst selectTab = (index: number) => {\n if (tabs.value && tabHeaders.value) {\n // Set activeTabIndex item to the index of the element clicked\n activeTabIndex.value = index;\n // Remove any active classes\n [...tabs.value, ...tabHeaders.value].forEach((t) => {\n t.classList.remove('active');\n });\n // Add active classes where appropriate, to the active element\n if (\n tabs.value[activeTabIndex.value] &&\n tabHeaders.value[activeTabIndex.value]\n ) {\n tabs.value[activeTabIndex.value].classList.add('active');\n tabHeaders.value[activeTabIndex.value].classList.add('active');\n } else {\n // Nearest element if desired index is not found\n const nearestIndex = activeTabIndex.value - 1;\n if (nearestIndex >= 0) {\n tabs.value[nearestIndex].classList.add('active');\n tabHeaders.value[nearestIndex].classList.add('active');\n }\n }\n }\n};\nconst initTabs = () => {\n if (tabContainer.value) {\n // Selects all elements with the class '.tab', which are direct children of element with the id 'tabBodyId'\n tabs.value = [\n ...(tabContainer.value.querySelectorAll(\n `#${tabBodyId.value} > .tab`,\n ) as any),\n ];\n tabs.value.forEach((tab) => {\n if (tab.classList.contains('active')) {\n activeTabIndex.value = tabs.value!.indexOf(tab);\n }\n });\n selectTab(activeTabIndex.value);\n }\n};\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n initTabs();\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n ref_key: \"tabContainer\",\n ref: tabContainer\n }, [\n _renderSlot(_ctx.$slots, \"headers-prepend\", {}, undefined, true),\n _createElementVNode(\"ul\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.headers, (header, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: index,\n ref_for: true,\n ref_key: \"tabHeaders\",\n ref: tabHeaders,\n class: _normalizeClass([[\n _ctx.headerCssClass,\n header.disabled ? 'ds-pointer-events-none ds-text-black/40' : '',\n ], \"tab-header ds-min-w-[5rem] ds-flex-1 ds-cursor-pointer ds-rounded-lg ds-p-2 ds-text-center ds-text-sm ds-font-medium ds-capitalize hover:ds-bg-slate-50 hover:ds-text-primary-t\"]),\n onClick: ($event: any) => (onClickTabHeader(index))\n }, _toDisplayString(header.text), 11, _hoisted_2))\n }), 128))\n ]),\n _renderSlot(_ctx.$slots, \"headers-append\", {}, undefined, true),\n _createElementVNode(\"div\", {\n id: tabBodyId.value,\n class: \"ds-w-full\"\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 8, _hoisted_3)\n ], 512))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","__props","__emit","props","emit","tabContainer","ref","tabHeaders","tabs","activeTabIndex","mValue","value","computed","val","tabBodyId","uuid","watch","selectTab","nextTick","initTabs","onClickTabHeader","index","t","nearestIndex","tab","onMounted","_ctx","_cache","_openBlock","_createElementBlock","_renderSlot","_createElementVNode","_Fragment","_renderList","header","_normalizeClass","$event","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system80.js","sources":["../src/components/BTextField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelDynamic as _vModelDynamic, withKeys as _withKeys, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withDirectives as _withDirectives, unref as _unref, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d47b93d4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"b-text-field\" }\nconst _hoisted_2 = { class: \"ds-relative\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"b-text-field__prepend-icon ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_4 = [\"id\", \"autocomplete\", \"disabled\", \"inputmode\", \"placeholder\", \"readonly\", \"type\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"b-text-field__append-icon ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n//#region Props\nexport interface BTextFieldProps {\n /**\n * ID of input element\n */\n inputId?: string;\n inputCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n modelValue: string | number;\n label?: string;\n placeholder?: string;\n autocomplete?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n type?: string;\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 * Function is executed on input event.\n */\n inputHandler?: any;\n /**\n * Value of input element's inputmode\n */\n inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'; // This allows a browser to display an appropriate virtual keyboard\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTextField',\n props: {\n inputId: { default: '' },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n modelValue: {},\n label: { default: '' },\n placeholder: { default: '' },\n autocomplete: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n type: { default: 'text' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n inputHandler: { default: undefined },\n inputmode: { default: 'text' }\n },\n emits: [\"focus\", \"blur\", \"press:enter\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// https://github.com/tailwindlabs/tailwindcss/discussions/7554\nconst props = __props;\n//#endregion\n\n//#region Events\n// https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits\n// new \"defineEmits\" way of Vue 3.3+ doesn't work with Storybook's autodocs yet\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => {\n if (typeof val === 'number') {\n return !!val;\n }\n return !!(val && val?.trim());\n },\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst inputCssClassValue = computed(() => [\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n },\n props.inputCssClass,\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});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Methods\nconst onKeyUpEnter = () => {\n emit('press:enter');\n};\nconst onFocus = () => {\n emit('focus');\n};\nconst onBlur = () => {\n emit('blur');\n};\nconst onKeyUp = () => {\n validate();\n};\nconst focus = () => {\n inputRef.value?.focus();\n};\nconst blur = () => {\n inputRef.value?.blur();\n};\n//#endregion\n\n__expose({ validate, focus, blur });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.$slots.prependIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"prependIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n autocomplete: props.autocomplete ? 'on' : 'off',\n disabled: props.disabled,\n inputmode: props.inputmode,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: props.type,\n class: _normalizeClass([[inputCssClassValue.value], \"ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light\"]),\n onBlur: onBlur,\n onFocus: onFocus,\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.inputHandler && _ctx.inputHandler(...args))),\n onKeyup: [\n onKeyUp,\n _withKeys(onKeyUpEnter, [\"enter\"])\n ]\n }, null, 42, _hoisted_4), [\n [_vModelDynamic, value.value]\n ]),\n (_ctx.$slots.appendIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"appendIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\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","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","t","useI18n","inputRef","ref","validateRequired","val","id","computed","uuid","value","inputCssClassValue","validationResult","vRules","result","validate","useValidationField","onKeyUpEnter","onFocus","onBlur","onKeyUp","_a","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_renderSlot","_createCommentVNode","_withDirectives","$event","_normalizeClass","args","_withKeys","_vModelDynamic","_createBlock","BErrorMessage","_unref"],"mappings":"8MAIMA,EAAa,CAAE,MAAO,gBACtBC,EAAa,CAAE,MAAO,eACtBC,EAAa,CACjB,IAAK,EACL,MAAO,gJACT,EACMC,EAAa,CAAC,KAAM,eAAgB,WAAY,YAAa,cAAe,WAAY,MAAM,EAC9FC,EAAa,CACjB,IAAK,EACL,MAAO,gJACT,EA0D4BC,EAAiBC,kBAAA,CAC3C,OAAQ,aACR,MAAO,CACL,QAAS,CAAE,QAAS,EAAG,EACvB,cAAe,CAAE,QAAS,EAAG,EAC7B,gBAAiB,CAAE,QAAS,MAAU,EACtC,WAAY,CAAC,EACb,MAAO,CAAE,QAAS,EAAG,EACrB,YAAa,CAAE,QAAS,EAAG,EAC3B,aAAc,CAAE,KAAM,QAAS,QAAS,EAAM,EAC9C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAM,EAC1C,SAAU,CAAE,KAAM,QAAS,QAAS,EAAM,EAC1C,KAAM,CAAE,QAAS,MAAO,EACxB,SAAU,CAAE,KAAM,QAAS,QAAS,EAAM,EAC1C,qBAAsB,CAAE,QAAS,EAAG,EACpC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAM,EAC7C,aAAc,CAAE,QAAS,MAAU,EACnC,UAAW,CAAE,QAAS,MAAO,CAC/B,EACA,MAAO,CAAC,QAAS,OAAQ,cAAe,mBAAmB,EAC3D,MAAMC,EAAc,CAAE,OAAQC,EAAU,KAAMC,GAAU,CAG1D,MAAMC,EAAQH,EAMRI,EAAOF,EAIP,CAAE,EAAAG,GAAMC,EAAAA,UACRC,EAAWC,MAA6B,IAAI,EAC5CC,EAAmC,CACvC,aAAeC,GACT,OAAOA,GAAQ,SACV,CAAC,CAACA,EAEJ,CAAC,EAAEA,IAAOA,GAAA,MAAAA,EAAK,SAExB,aAAc,IACZP,EAAM,sBAAwBE,EAAE,0BAA0B,CAAA,EAExDM,EAAKC,WAAS,IAAMT,EAAM,SAAW,MAAMU,GAAM,EAAE,EACnDC,EAAQF,EAAAA,SAAS,CACrB,KAAM,CACJ,OAAOT,EAAM,UACf,EACA,IAAIO,EAAK,CACPN,EAAK,oBAAqBM,CAAG,CAC/B,CAAA,CACD,EACKK,EAAqBH,EAAAA,SAAS,IAAM,CACxC,CACE,4DAA6DT,EAAM,SACnE,uBAAwB,CAACA,EAAM,SAC/B,sDACE,CAACa,EAAiB,MAAM,MAC1B,kFACEA,EAAiB,MAAM,KAC3B,EACAb,EAAM,aAAA,CACP,EACKc,EAASL,EAAAA,SAAS,IAAM,CAC5B,IAAIM,EAA2B,CAAA,EAE/B,OAAIf,EAAM,UACRe,EAAO,KAAKT,CAAgB,EAE1BN,EAAM,kBACCe,EAAAA,EAAO,OAAOf,EAAM,eAAe,GAGvCe,EAAO,OAASA,EAAS,MAAA,CACjC,EAEK,CAAE,SAAAC,EAAU,iBAAAH,CAAA,EAAqBI,EAAA,mBACrCT,EAAG,MACHG,EACAG,EAAO,KAAA,EAKHI,EAAe,IAAM,CACzBjB,EAAK,aAAa,CAAA,EAEdkB,EAAU,IAAM,CACpBlB,EAAK,OAAO,CAAA,EAERmB,EAAS,IAAM,CACnBnB,EAAK,MAAM,CAAA,EAEPoB,EAAU,IAAM,CACXL,GAAA,EAUX,OAAAlB,EAAS,CAAE,SAAAkB,EAAU,MARP,IAAM,QAClBM,EAAAlB,EAAS,QAAT,MAAAkB,EAAgB,OAAM,EAOI,KALf,IAAM,QACjBA,EAAAlB,EAAS,QAAT,MAAAkB,EAAgB,MAAK,CAIW,CAAA,EAE3B,CAACC,EAAUC,KACRC,YAAW,EAAGC,qBAAoB,MAAOpC,EAAY,CAC3DqC,EAAAA,YAAaC,EAAQ,CACnB,GAAIpB,EAAG,MACP,MAAOe,EAAK,MACZ,SAAUA,EAAK,QAAA,EACd,KAAM,EAAG,CAAC,KAAM,QAAS,UAAU,CAAC,EACvCM,EAAA,mBAAoB,MAAOtC,EAAY,CACpCgC,EAAK,OAAO,aACRE,EAAAA,UAAc,EAAAC,EAAA,mBAAoB,MAAOlC,EAAY,CACpDsC,aAAYP,EAAK,OAAQ,cAAe,CAAA,EAAI,OAAW,EAAI,CAAA,CAC5D,GACDQ,EAAAA,mBAAoB,GAAI,EAAI,EAChCC,EAAA,eAAgBH,qBAAoB,QAAS,CAC3C,GAAIrB,EAAG,MACP,QAAS,WACT,IAAKJ,EACL,sBAAuBoB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAKS,GAAkBtB,EAAO,MAAQsB,GACnF,aAAcjC,EAAM,aAAe,KAAO,MAC1C,SAAUA,EAAM,SAChB,UAAWA,EAAM,UACjB,YAAaA,EAAM,YACnB,SAAUA,EAAM,SAChB,KAAMA,EAAM,KACZ,MAAOkC,iBAAgB,CAAC,CAACtB,EAAmB,KAAK,EAAG,gGAAgG,CAAC,EACrJ,OAAAQ,EACA,QAAAD,EACA,QAASK,EAAO,CAAC,IAAMA,EAAO,CAAC,EAEvC,IAAIW,IAAUZ,EAAK,cAAgBA,EAAK,aAAa,GAAGY,CAAI,GACpD,QAAS,CACPd,EACAe,WAAUlB,EAAc,CAAC,OAAO,CAAC,CACnC,CAAA,EACC,KAAM,GAAIzB,CAAU,EAAG,CACxB,CAAC4C,EAAgB,cAAA1B,EAAM,KAAK,CAAA,CAC7B,EACAY,EAAK,OAAO,YACRE,EAAAA,UAAc,EAAAC,EAAA,mBAAoB,MAAOhC,EAAY,CACpDoC,aAAYP,EAAK,OAAQ,aAAc,CAAA,EAAI,OAAW,EAAI,CAAA,CAC3D,GACDQ,EAAAA,mBAAoB,GAAI,EAAI,CAAA,CACjC,EACCR,EAAK,YAMHQ,EAAoB,mBAAA,GAAI,EAAI,GAL3BN,EAAW,UAAA,EAAGa,EAAAA,YAAaC,EAAe,CACzC,IAAK,EACL,gBAAiBC,EAAA,MAAO3B,CAAgB,EAAE,aAAa,EACvD,MAAO,SAAA,EACN,KAAM,EAAG,CAAC,eAAe,CAAC,EACD,CACjC,EAEH,CAEA,CAAC"}
|
package/dist/design-system80.mjs
CHANGED
|
@@ -1,84 +1,122 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { defineComponent as R, ref as I, computed as d, openBlock as l, createElementBlock as p, createVNode as $, createElementVNode as m, renderSlot as b, createCommentVNode as f, withDirectives as w, normalizeClass as E, withKeys as M, vModelDynamic as D, createBlock as K, unref as z } from "vue";
|
|
2
|
+
import { useValidationField as F } from "./design-system3.mjs";
|
|
3
|
+
import { useI18n as H } from "./design-system50.mjs";
|
|
4
|
+
import N from "./design-system15.mjs";
|
|
5
|
+
import U from "./design-system16.mjs";
|
|
6
|
+
import S from "./design-system100.mjs";
|
|
7
|
+
const T = { class: "b-text-field" }, j = { class: "ds-relative" }, A = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "b-text-field__prepend-icon ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t"
|
|
10
|
+
}, G = ["id", "autocomplete", "disabled", "inputmode", "placeholder", "readonly", "type"], J = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "b-text-field__append-icon ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t"
|
|
13
|
+
}, ee = /* @__PURE__ */ R({
|
|
14
|
+
__name: "BTextField",
|
|
5
15
|
props: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
16
|
+
inputId: { default: "" },
|
|
17
|
+
inputCssClass: { default: "" },
|
|
18
|
+
validationRules: { default: void 0 },
|
|
19
|
+
modelValue: {},
|
|
20
|
+
label: { default: "" },
|
|
21
|
+
placeholder: { default: "" },
|
|
22
|
+
autocomplete: { type: Boolean, default: !1 },
|
|
23
|
+
disabled: { type: Boolean, default: !1 },
|
|
24
|
+
readonly: { type: Boolean, default: !1 },
|
|
25
|
+
type: { default: "text" },
|
|
26
|
+
required: { type: Boolean, default: !1 },
|
|
27
|
+
requiredErrorMessage: { default: "" },
|
|
28
|
+
hideDetails: { type: Boolean, default: !1 },
|
|
29
|
+
inputHandler: { default: void 0 },
|
|
30
|
+
inputmode: { default: "text" }
|
|
9
31
|
},
|
|
10
|
-
emits: ["update:modelValue"],
|
|
11
|
-
setup(
|
|
12
|
-
const
|
|
32
|
+
emits: ["focus", "blur", "press:enter", "update:modelValue"],
|
|
33
|
+
setup(v, { expose: y, emit: h }) {
|
|
34
|
+
const s = v, t = h, { t: g } = H(), r = I(null), _ = {
|
|
35
|
+
validateRule: (e) => typeof e == "number" ? !!e : !!(e && (e != null && e.trim())),
|
|
36
|
+
errorMessage: () => s.requiredErrorMessage || g("ds.global.field_required")
|
|
37
|
+
}, a = d(() => s.inputId || `id-${S()}`), u = d({
|
|
13
38
|
get() {
|
|
14
|
-
return
|
|
39
|
+
return s.modelValue;
|
|
15
40
|
},
|
|
16
41
|
set(e) {
|
|
17
|
-
|
|
42
|
+
t("update:modelValue", e);
|
|
18
43
|
}
|
|
19
|
-
}),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}, p = () => {
|
|
43
|
-
r.value && (a.value = [
|
|
44
|
-
...r.value.querySelectorAll(
|
|
45
|
-
`#${f.value} > .tab`
|
|
46
|
-
)
|
|
47
|
-
], a.value.forEach((e) => {
|
|
48
|
-
e.classList.contains("active") && (s.value = a.value.indexOf(e));
|
|
49
|
-
}), m(s.value));
|
|
44
|
+
}), k = d(() => [
|
|
45
|
+
{
|
|
46
|
+
"ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": s.disabled,
|
|
47
|
+
"ds-text-black/[0.85]": !s.disabled,
|
|
48
|
+
"ds-border-error focus:ds-ring-1 focus:ds-ring-error": !n.value.valid,
|
|
49
|
+
"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": n.value.valid
|
|
50
|
+
},
|
|
51
|
+
s.inputCssClass
|
|
52
|
+
]), B = d(() => {
|
|
53
|
+
let e = [];
|
|
54
|
+
return s.required && e.push(_), s.validationRules && (e = e.concat(s.validationRules)), e.length ? e : void 0;
|
|
55
|
+
}), { validate: c, validationResult: n } = F(
|
|
56
|
+
a.value,
|
|
57
|
+
u,
|
|
58
|
+
B.value
|
|
59
|
+
), V = () => {
|
|
60
|
+
t("press:enter");
|
|
61
|
+
}, q = () => {
|
|
62
|
+
t("focus");
|
|
63
|
+
}, x = () => {
|
|
64
|
+
t("blur");
|
|
65
|
+
}, C = () => {
|
|
66
|
+
c();
|
|
50
67
|
};
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
return y({ validate: c, focus: () => {
|
|
69
|
+
var e;
|
|
70
|
+
(e = r.value) == null || e.focus();
|
|
71
|
+
}, blur: () => {
|
|
72
|
+
var e;
|
|
73
|
+
(e = r.value) == null || e.blur();
|
|
74
|
+
} }), (e, o) => (l(), p("div", T, [
|
|
75
|
+
$(U, {
|
|
76
|
+
id: a.value,
|
|
77
|
+
label: e.label,
|
|
78
|
+
required: e.required
|
|
79
|
+
}, null, 8, ["id", "label", "required"]),
|
|
80
|
+
m("div", j, [
|
|
81
|
+
e.$slots.prependIcon ? (l(), p("div", A, [
|
|
82
|
+
b(e.$slots, "prependIcon", {}, void 0, !0)
|
|
83
|
+
])) : f("", !0),
|
|
84
|
+
w(m("input", {
|
|
85
|
+
id: a.value,
|
|
86
|
+
ref_key: "inputRef",
|
|
87
|
+
ref: r,
|
|
88
|
+
"onUpdate:modelValue": o[0] || (o[0] = (i) => u.value = i),
|
|
89
|
+
autocomplete: s.autocomplete ? "on" : "off",
|
|
90
|
+
disabled: s.disabled,
|
|
91
|
+
inputmode: s.inputmode,
|
|
92
|
+
placeholder: s.placeholder,
|
|
93
|
+
readonly: s.readonly,
|
|
94
|
+
type: s.type,
|
|
95
|
+
class: E([[k.value], "ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light"]),
|
|
96
|
+
onBlur: x,
|
|
97
|
+
onFocus: q,
|
|
98
|
+
onInput: o[1] || (o[1] = //@ts-ignore
|
|
99
|
+
(...i) => e.inputHandler && e.inputHandler(...i)),
|
|
100
|
+
onKeyup: [
|
|
101
|
+
C,
|
|
102
|
+
M(V, ["enter"])
|
|
103
|
+
]
|
|
104
|
+
}, null, 42, G), [
|
|
105
|
+
[D, u.value]
|
|
106
|
+
]),
|
|
107
|
+
e.$slots.appendIcon ? (l(), p("div", J, [
|
|
108
|
+
b(e.$slots, "appendIcon", {}, void 0, !0)
|
|
109
|
+
])) : f("", !0)
|
|
70
110
|
]),
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
class: "ds-
|
|
75
|
-
}, [
|
|
76
|
-
|
|
77
|
-
], 8, q)
|
|
78
|
-
], 512));
|
|
111
|
+
e.hideDetails ? f("", !0) : (l(), K(N, {
|
|
112
|
+
key: 0,
|
|
113
|
+
"error-message": z(n).errorMessage(),
|
|
114
|
+
class: "ds-mt-1"
|
|
115
|
+
}, null, 8, ["error-message"]))
|
|
116
|
+
]));
|
|
79
117
|
}
|
|
80
118
|
});
|
|
81
119
|
export {
|
|
82
|
-
|
|
120
|
+
ee as default
|
|
83
121
|
};
|
|
84
122
|
//# sourceMappingURL=design-system80.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system80.mjs","sources":["../src/components/BTabs/BTabs.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-646ae8c4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ds-flex ds-flex-wrap ds-overflow-hidden ds-rounded-lg ds-border ds-border-gray-100 ds-bg-gray-100\" }\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = [\"id\"]\n\nimport type { BTabsHeader } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport { computed, nextTick, onMounted, ref, watch } from 'vue';\n\n//#region Props\nexport interface BTabsProps {\n /**\n * Array of header objects.\n */\n headers: BTabsHeader[];\n /**\n * Index of tab.\n */\n modelValue?: number;\n /**\n * CSS of header.\n */\n headerCssClass?: string;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTabs',\n props: {\n headers: {},\n modelValue: { default: undefined },\n headerCssClass: { default: '' }\n },\n emits: [\"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 tabContainer = ref<HTMLElement | null>(null);\nconst tabHeaders = ref<HTMLElement[] | null>(null);\nconst tabs = ref<Element[] | null>(null);\nconst activeTabIndex = ref(0);\nconst mValue = ref(0);\nconst value = computed({\n get() {\n return props.modelValue !== undefined ? props.modelValue : mValue.value;\n },\n set(val) {\n if (props.modelValue !== undefined) {\n emit('update:modelValue', val);\n } else {\n mValue.value = val;\n }\n },\n});\nconst tabBodyId = computed(() => `id-${uuid()}`);\n//#endregion\n\n//#region Watchers\nwatch(value, (val) => {\n selectTab(val);\n});\nwatch(\n () => props.headers,\n () => {\n nextTick(() => {\n initTabs();\n });\n },\n);\n//#endregion\n\n//#region Methods\nconst onClickTabHeader = (index: number) => {\n value.value = index;\n};\nconst selectTab = (index: number) => {\n if (tabs.value && tabHeaders.value) {\n // Set activeTabIndex item to the index of the element clicked\n activeTabIndex.value = index;\n // Remove any active classes\n [...tabs.value, ...tabHeaders.value].forEach((t) => {\n t.classList.remove('active');\n });\n // Add active classes where appropriate, to the active element\n if (\n tabs.value[activeTabIndex.value] &&\n tabHeaders.value[activeTabIndex.value]\n ) {\n tabs.value[activeTabIndex.value].classList.add('active');\n tabHeaders.value[activeTabIndex.value].classList.add('active');\n } else {\n // Nearest element if desired index is not found\n const nearestIndex = activeTabIndex.value - 1;\n if (nearestIndex >= 0) {\n tabs.value[nearestIndex].classList.add('active');\n tabHeaders.value[nearestIndex].classList.add('active');\n }\n }\n }\n};\nconst initTabs = () => {\n if (tabContainer.value) {\n // Selects all elements with the class '.tab', which are direct children of element with the id 'tabBodyId'\n tabs.value = [\n ...(tabContainer.value.querySelectorAll(\n `#${tabBodyId.value} > .tab`,\n ) as any),\n ];\n tabs.value.forEach((tab) => {\n if (tab.classList.contains('active')) {\n activeTabIndex.value = tabs.value!.indexOf(tab);\n }\n });\n selectTab(activeTabIndex.value);\n }\n};\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n initTabs();\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n ref_key: \"tabContainer\",\n ref: tabContainer\n }, [\n _renderSlot(_ctx.$slots, \"headers-prepend\", {}, undefined, true),\n _createElementVNode(\"ul\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.headers, (header, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: index,\n ref_for: true,\n ref_key: \"tabHeaders\",\n ref: tabHeaders,\n class: _normalizeClass([[\n _ctx.headerCssClass,\n header.disabled ? 'ds-pointer-events-none ds-text-black/40' : '',\n ], \"tab-header ds-min-w-[5rem] ds-flex-1 ds-cursor-pointer ds-rounded-lg ds-p-2 ds-text-center ds-text-sm ds-font-medium ds-capitalize hover:ds-bg-slate-50 hover:ds-text-primary-t\"]),\n onClick: ($event: any) => (onClickTabHeader(index))\n }, _toDisplayString(header.text), 11, _hoisted_2))\n }), 128))\n ]),\n _renderSlot(_ctx.$slots, \"headers-append\", {}, undefined, true),\n _createElementVNode(\"div\", {\n id: tabBodyId.value,\n class: \"ds-w-full\"\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 8, _hoisted_3)\n ], 512))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","__props","__emit","props","emit","tabContainer","ref","tabHeaders","tabs","activeTabIndex","mValue","value","computed","val","tabBodyId","uuid","watch","selectTab","nextTick","initTabs","onClickTabHeader","index","t","nearestIndex","tab","onMounted","_ctx","_cache","_openBlock","_createElementBlock","_renderSlot","_createElementVNode","_Fragment","_renderList","header","_normalizeClass","$event","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system80.mjs","sources":["../src/components/BTextField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelDynamic as _vModelDynamic, withKeys as _withKeys, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withDirectives as _withDirectives, unref as _unref, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d47b93d4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"b-text-field\" }\nconst _hoisted_2 = { class: \"ds-relative\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"b-text-field__prepend-icon ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_4 = [\"id\", \"autocomplete\", \"disabled\", \"inputmode\", \"placeholder\", \"readonly\", \"type\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"b-text-field__append-icon ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n//#region Props\nexport interface BTextFieldProps {\n /**\n * ID of input element\n */\n inputId?: string;\n inputCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n modelValue: string | number;\n label?: string;\n placeholder?: string;\n autocomplete?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n type?: string;\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 * Function is executed on input event.\n */\n inputHandler?: any;\n /**\n * Value of input element's inputmode\n */\n inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'; // This allows a browser to display an appropriate virtual keyboard\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTextField',\n props: {\n inputId: { default: '' },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n modelValue: {},\n label: { default: '' },\n placeholder: { default: '' },\n autocomplete: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n type: { default: 'text' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n inputHandler: { default: undefined },\n inputmode: { default: 'text' }\n },\n emits: [\"focus\", \"blur\", \"press:enter\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// https://github.com/tailwindlabs/tailwindcss/discussions/7554\nconst props = __props;\n//#endregion\n\n//#region Events\n// https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits\n// new \"defineEmits\" way of Vue 3.3+ doesn't work with Storybook's autodocs yet\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => {\n if (typeof val === 'number') {\n return !!val;\n }\n return !!(val && val?.trim());\n },\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst inputCssClassValue = computed(() => [\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n },\n props.inputCssClass,\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});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Methods\nconst onKeyUpEnter = () => {\n emit('press:enter');\n};\nconst onFocus = () => {\n emit('focus');\n};\nconst onBlur = () => {\n emit('blur');\n};\nconst onKeyUp = () => {\n validate();\n};\nconst focus = () => {\n inputRef.value?.focus();\n};\nconst blur = () => {\n inputRef.value?.blur();\n};\n//#endregion\n\n__expose({ validate, focus, blur });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.$slots.prependIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"prependIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n autocomplete: props.autocomplete ? 'on' : 'off',\n disabled: props.disabled,\n inputmode: props.inputmode,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: props.type,\n class: _normalizeClass([[inputCssClassValue.value], \"ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light\"]),\n onBlur: onBlur,\n onFocus: onFocus,\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.inputHandler && _ctx.inputHandler(...args))),\n onKeyup: [\n onKeyUp,\n _withKeys(onKeyUpEnter, [\"enter\"])\n ]\n }, null, 42, _hoisted_4), [\n [_vModelDynamic, value.value]\n ]),\n (_ctx.$slots.appendIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"appendIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\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","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","t","useI18n","inputRef","ref","validateRequired","val","id","computed","uuid","value","inputCssClassValue","validationResult","vRules","result","validate","useValidationField","onKeyUpEnter","onFocus","onBlur","onKeyUp","_a","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_renderSlot","_createCommentVNode","_withDirectives","$event","_normalizeClass","args","_withKeys","_vModelDynamic","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
|
package/dist/design-system82.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("./design-
|
|
1
|
+
"use strict";const e=require("./design-system23.js");module.exports=e;
|
|
2
2
|
//# sourceMappingURL=design-system82.js.map
|
package/dist/design-system82.mjs
CHANGED
package/dist/design-system83.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const e=require("./design-system41.js");module.exports=e;
|
|
2
2
|
//# sourceMappingURL=design-system83.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system83.js","sources":["../src/components/BTextField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelDynamic as _vModelDynamic, withKeys as _withKeys, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withDirectives as _withDirectives, unref as _unref, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d47b93d4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"b-text-field\" }\nconst _hoisted_2 = { class: \"ds-relative\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"b-text-field__prepend-icon ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_4 = [\"id\", \"autocomplete\", \"disabled\", \"inputmode\", \"placeholder\", \"readonly\", \"type\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"b-text-field__append-icon ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n//#region Props\nexport interface BTextFieldProps {\n /**\n * ID of input element\n */\n inputId?: string;\n inputCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n modelValue: string | number;\n label?: string;\n placeholder?: string;\n autocomplete?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n type?: string;\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 * Function is executed on input event.\n */\n inputHandler?: any;\n /**\n * Value of input element's inputmode\n */\n inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'; // This allows a browser to display an appropriate virtual keyboard\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTextField',\n props: {\n inputId: { default: '' },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n modelValue: {},\n label: { default: '' },\n placeholder: { default: '' },\n autocomplete: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n type: { default: 'text' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n inputHandler: { default: undefined },\n inputmode: { default: 'text' }\n },\n emits: [\"focus\", \"blur\", \"press:enter\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// https://github.com/tailwindlabs/tailwindcss/discussions/7554\nconst props = __props;\n//#endregion\n\n//#region Events\n// https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits\n// new \"defineEmits\" way of Vue 3.3+ doesn't work with Storybook's autodocs yet\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => {\n if (typeof val === 'number') {\n return !!val;\n }\n return !!(val && val?.trim());\n },\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst inputCssClassValue = computed(() => [\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n },\n props.inputCssClass,\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});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Methods\nconst onKeyUpEnter = () => {\n emit('press:enter');\n};\nconst onFocus = () => {\n emit('focus');\n};\nconst onBlur = () => {\n emit('blur');\n};\nconst onKeyUp = () => {\n validate();\n};\nconst focus = () => {\n inputRef.value?.focus();\n};\nconst blur = () => {\n inputRef.value?.blur();\n};\n//#endregion\n\n__expose({ validate, focus, blur });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.$slots.prependIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"prependIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n autocomplete: props.autocomplete ? 'on' : 'off',\n disabled: props.disabled,\n inputmode: props.inputmode,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: props.type,\n class: _normalizeClass([[inputCssClassValue.value], \"ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light\"]),\n onBlur: onBlur,\n onFocus: onFocus,\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.inputHandler && _ctx.inputHandler(...args))),\n onKeyup: [\n onKeyUp,\n _withKeys(onKeyUpEnter, [\"enter\"])\n ]\n }, null, 42, _hoisted_4), [\n [_vModelDynamic, value.value]\n ]),\n (_ctx.$slots.appendIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"appendIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\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","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","t","useI18n","inputRef","ref","validateRequired","val","id","computed","uuid","value","inputCssClassValue","validationResult","vRules","result","validate","useValidationField","onKeyUpEnter","onFocus","onBlur","onKeyUp","_a","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_renderSlot","_createCommentVNode","_withDirectives","$event","_normalizeClass","args","_withKeys","_vModelDynamic","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system83.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/design-system83.mjs
CHANGED
|
@@ -1,122 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useValidationField as F } from "./design-system3.mjs";
|
|
3
|
-
import { useI18n as H } from "./design-system50.mjs";
|
|
4
|
-
import N from "./design-system15.mjs";
|
|
5
|
-
import U from "./design-system16.mjs";
|
|
6
|
-
import S from "./design-system101.mjs";
|
|
7
|
-
const T = { class: "b-text-field" }, j = { class: "ds-relative" }, A = {
|
|
8
|
-
key: 0,
|
|
9
|
-
class: "b-text-field__prepend-icon ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t"
|
|
10
|
-
}, G = ["id", "autocomplete", "disabled", "inputmode", "placeholder", "readonly", "type"], J = {
|
|
11
|
-
key: 1,
|
|
12
|
-
class: "b-text-field__append-icon ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t"
|
|
13
|
-
}, ee = /* @__PURE__ */ R({
|
|
14
|
-
__name: "BTextField",
|
|
15
|
-
props: {
|
|
16
|
-
inputId: { default: "" },
|
|
17
|
-
inputCssClass: { default: "" },
|
|
18
|
-
validationRules: { default: void 0 },
|
|
19
|
-
modelValue: {},
|
|
20
|
-
label: { default: "" },
|
|
21
|
-
placeholder: { default: "" },
|
|
22
|
-
autocomplete: { type: Boolean, default: !1 },
|
|
23
|
-
disabled: { type: Boolean, default: !1 },
|
|
24
|
-
readonly: { type: Boolean, default: !1 },
|
|
25
|
-
type: { default: "text" },
|
|
26
|
-
required: { type: Boolean, default: !1 },
|
|
27
|
-
requiredErrorMessage: { default: "" },
|
|
28
|
-
hideDetails: { type: Boolean, default: !1 },
|
|
29
|
-
inputHandler: { default: void 0 },
|
|
30
|
-
inputmode: { default: "text" }
|
|
31
|
-
},
|
|
32
|
-
emits: ["focus", "blur", "press:enter", "update:modelValue"],
|
|
33
|
-
setup(v, { expose: y, emit: h }) {
|
|
34
|
-
const s = v, t = h, { t: g } = H(), r = I(null), _ = {
|
|
35
|
-
validateRule: (e) => typeof e == "number" ? !!e : !!(e && (e != null && e.trim())),
|
|
36
|
-
errorMessage: () => s.requiredErrorMessage || g("ds.global.field_required")
|
|
37
|
-
}, a = d(() => s.inputId || `id-${S()}`), u = d({
|
|
38
|
-
get() {
|
|
39
|
-
return s.modelValue;
|
|
40
|
-
},
|
|
41
|
-
set(e) {
|
|
42
|
-
t("update:modelValue", e);
|
|
43
|
-
}
|
|
44
|
-
}), k = d(() => [
|
|
45
|
-
{
|
|
46
|
-
"ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": s.disabled,
|
|
47
|
-
"ds-text-black/[0.85]": !s.disabled,
|
|
48
|
-
"ds-border-error focus:ds-ring-1 focus:ds-ring-error": !n.value.valid,
|
|
49
|
-
"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": n.value.valid
|
|
50
|
-
},
|
|
51
|
-
s.inputCssClass
|
|
52
|
-
]), B = d(() => {
|
|
53
|
-
let e = [];
|
|
54
|
-
return s.required && e.push(_), s.validationRules && (e = e.concat(s.validationRules)), e.length ? e : void 0;
|
|
55
|
-
}), { validate: c, validationResult: n } = F(
|
|
56
|
-
a.value,
|
|
57
|
-
u,
|
|
58
|
-
B.value
|
|
59
|
-
), V = () => {
|
|
60
|
-
t("press:enter");
|
|
61
|
-
}, q = () => {
|
|
62
|
-
t("focus");
|
|
63
|
-
}, x = () => {
|
|
64
|
-
t("blur");
|
|
65
|
-
}, C = () => {
|
|
66
|
-
c();
|
|
67
|
-
};
|
|
68
|
-
return y({ validate: c, focus: () => {
|
|
69
|
-
var e;
|
|
70
|
-
(e = r.value) == null || e.focus();
|
|
71
|
-
}, blur: () => {
|
|
72
|
-
var e;
|
|
73
|
-
(e = r.value) == null || e.blur();
|
|
74
|
-
} }), (e, o) => (l(), p("div", T, [
|
|
75
|
-
$(U, {
|
|
76
|
-
id: a.value,
|
|
77
|
-
label: e.label,
|
|
78
|
-
required: e.required
|
|
79
|
-
}, null, 8, ["id", "label", "required"]),
|
|
80
|
-
m("div", j, [
|
|
81
|
-
e.$slots.prependIcon ? (l(), p("div", A, [
|
|
82
|
-
b(e.$slots, "prependIcon", {}, void 0, !0)
|
|
83
|
-
])) : f("", !0),
|
|
84
|
-
w(m("input", {
|
|
85
|
-
id: a.value,
|
|
86
|
-
ref_key: "inputRef",
|
|
87
|
-
ref: r,
|
|
88
|
-
"onUpdate:modelValue": o[0] || (o[0] = (i) => u.value = i),
|
|
89
|
-
autocomplete: s.autocomplete ? "on" : "off",
|
|
90
|
-
disabled: s.disabled,
|
|
91
|
-
inputmode: s.inputmode,
|
|
92
|
-
placeholder: s.placeholder,
|
|
93
|
-
readonly: s.readonly,
|
|
94
|
-
type: s.type,
|
|
95
|
-
class: E([[k.value], "ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light"]),
|
|
96
|
-
onBlur: x,
|
|
97
|
-
onFocus: q,
|
|
98
|
-
onInput: o[1] || (o[1] = //@ts-ignore
|
|
99
|
-
(...i) => e.inputHandler && e.inputHandler(...i)),
|
|
100
|
-
onKeyup: [
|
|
101
|
-
C,
|
|
102
|
-
M(V, ["enter"])
|
|
103
|
-
]
|
|
104
|
-
}, null, 42, G), [
|
|
105
|
-
[D, u.value]
|
|
106
|
-
]),
|
|
107
|
-
e.$slots.appendIcon ? (l(), p("div", J, [
|
|
108
|
-
b(e.$slots, "appendIcon", {}, void 0, !0)
|
|
109
|
-
])) : f("", !0)
|
|
110
|
-
]),
|
|
111
|
-
e.hideDetails ? f("", !0) : (l(), K(N, {
|
|
112
|
-
key: 0,
|
|
113
|
-
"error-message": z(n).errorMessage(),
|
|
114
|
-
class: "ds-mt-1"
|
|
115
|
-
}, null, 8, ["error-message"]))
|
|
116
|
-
]));
|
|
117
|
-
}
|
|
118
|
-
});
|
|
1
|
+
import f from "./design-system41.mjs";
|
|
119
2
|
export {
|
|
120
|
-
|
|
3
|
+
f as default
|
|
121
4
|
};
|
|
122
5
|
//# sourceMappingURL=design-system83.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system83.mjs","sources":["../src/components/BTextField.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelDynamic as _vModelDynamic, withKeys as _withKeys, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withDirectives as _withDirectives, unref as _unref, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d47b93d4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"b-text-field\" }\nconst _hoisted_2 = { class: \"ds-relative\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"b-text-field__prepend-icon ds-absolute ds-left-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\nconst _hoisted_4 = [\"id\", \"autocomplete\", \"disabled\", \"inputmode\", \"placeholder\", \"readonly\", \"type\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"b-text-field__append-icon ds-absolute ds-right-3 ds-top-0 ds-z-[1] ds-flex ds-h-full ds-cursor-pointer ds-items-center hover:ds-text-primary-t\"\n}\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { v4 as uuid } from 'uuid';\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n//#region Props\nexport interface BTextFieldProps {\n /**\n * ID of input element\n */\n inputId?: string;\n inputCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n modelValue: string | number;\n label?: string;\n placeholder?: string;\n autocomplete?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n type?: string;\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 * Function is executed on input event.\n */\n inputHandler?: any;\n /**\n * Value of input element's inputmode\n */\n inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'; // This allows a browser to display an appropriate virtual keyboard\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTextField',\n props: {\n inputId: { default: '' },\n inputCssClass: { default: '' },\n validationRules: { default: undefined },\n modelValue: {},\n label: { default: '' },\n placeholder: { default: '' },\n autocomplete: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n type: { default: 'text' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n inputHandler: { default: undefined },\n inputmode: { default: 'text' }\n },\n emits: [\"focus\", \"blur\", \"press:enter\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// https://github.com/tailwindlabs/tailwindcss/discussions/7554\nconst props = __props;\n//#endregion\n\n//#region Events\n// https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits\n// new \"defineEmits\" way of Vue 3.3+ doesn't work with Storybook's autodocs yet\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst { t } = useI18n();\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val: string) => {\n if (typeof val === 'number') {\n return !!val;\n }\n return !!(val && val?.trim());\n },\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst inputCssClassValue = computed(() => [\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n },\n props.inputCssClass,\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});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Methods\nconst onKeyUpEnter = () => {\n emit('press:enter');\n};\nconst onFocus = () => {\n emit('focus');\n};\nconst onBlur = () => {\n emit('blur');\n};\nconst onKeyUp = () => {\n validate();\n};\nconst focus = () => {\n inputRef.value?.focus();\n};\nconst blur = () => {\n inputRef.value?.blur();\n};\n//#endregion\n\n__expose({ validate, focus, blur });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.$slots.prependIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"prependIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n autocomplete: props.autocomplete ? 'on' : 'off',\n disabled: props.disabled,\n inputmode: props.inputmode,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: props.type,\n class: _normalizeClass([[inputCssClassValue.value], \"ds-block ds-h-[40px] ds-w-full ds-rounded-lg ds-border ds-px-3 ds-text-sm ds-drop-shadow-light\"]),\n onBlur: onBlur,\n onFocus: onFocus,\n onInput: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.inputHandler && _ctx.inputHandler(...args))),\n onKeyup: [\n onKeyUp,\n _withKeys(onKeyUpEnter, [\"enter\"])\n ]\n }, null, 42, _hoisted_4), [\n [_vModelDynamic, value.value]\n ]),\n (_ctx.$slots.appendIcon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"appendIcon\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\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","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","t","useI18n","inputRef","ref","validateRequired","val","id","computed","uuid","value","inputCssClassValue","validationResult","vRules","result","validate","useValidationField","onKeyUpEnter","onFocus","onBlur","onKeyUp","_a","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_renderSlot","_createCommentVNode","_withDirectives","$event","_normalizeClass","args","_withKeys","_vModelDynamic","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-system83.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/design-system84.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e="";module.exports=
|
|
1
|
+
"use strict";const e=require("vue"),a=require("./design-system5.js"),L=r=>(e.pushScopeId("data-v-78f7c276"),r=r(),e.popScopeId(),r),V={class:"ds-relative"},_=L(()=>e.createElementVNode("div",{class:"tooltip-arrow","data-popper-arrow":""},null,-1)),T=e.defineComponent({__name:"BTooltip",props:{modelValue:{type:Boolean,default:!1},position:{default:a.BTooltipPosition.Top},openEvent:{default:a.BTooltipOpenEvent.Hover}},emits:["update:modelValue"],setup(r,{emit:b}){const n=r,g=b,o=e.ref(null),s=e.ref(null),c=e.ref(!1),l=e.computed({get(){return n.modelValue!==void 0?n.modelValue:c.value},set(t){n.modelValue!==void 0?g("update:modelValue",t):c.value=t}});e.watch(()=>n.position,()=>{y(),E()}),e.watch(()=>n.openEvent,()=>{h(),k()});const d=()=>{l.value=!l.value},p=()=>{l.value=!0},w=()=>{l.value=!1},m=()=>{l.value=!0},f=()=>{l.value=!1},y=()=>{s.value&&(s.value.style.top="",s.value.style.right="",s.value.style.bottom="",s.value.style.left="")},E=()=>{if(s.value)switch(n.position){case a.BTooltipPosition.Bottom:s.value.style.top="4px";break;case a.BTooltipPosition.Top:default:s.value.style.bottom="24px";break}},k=()=>{var t,u,i,v,B;switch(n.openEvent){case a.BTooltipOpenEvent.Click:(t=o.value)==null||t.addEventListener("click",d);break;case a.BTooltipOpenEvent.Focus:(u=o.value)==null||u.addEventListener("focus",p),(i=o.value)==null||i.addEventListener("focusout",w);break;case a.BTooltipOpenEvent.Hover:default:(v=o.value)==null||v.addEventListener("mouseover",m),(B=o.value)==null||B.addEventListener("mouseleave",f);break}},h=()=>{var t,u,i,v;(t=o.value)==null||t.removeEventListener("click",d),(u=o.value)==null||u.removeEventListener("focus",p),(i=o.value)==null||i.removeEventListener("mouseover",m),(v=o.value)==null||v.removeEventListener("mouseleave",f)};return e.onMounted(()=>{k(),E()}),e.onBeforeUnmount(()=>{h()}),(t,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"toggleRef",ref:o,class:"ds-inline"},[e.renderSlot(t.$slots,"toggle",{},void 0,!0)],512),e.withDirectives(e.createElementVNode("div",V,[e.createElementVNode("div",{ref_key:"contentRef",ref:s,class:"ds-absolute ds-z-10 ds-inline-block ds-rounded-lg ds-bg-black/65 ds-px-3 ds-py-2 ds-text-sm ds-font-medium ds-text-white ds-shadow-sm ds-transition-opacity ds-duration-300"},[e.renderSlot(t.$slots,"default",{},void 0,!0),_],512)],512),[[e.vShow,l.value]])],64))}});module.exports=T;
|
|
2
2
|
//# sourceMappingURL=design-system84.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system84.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"design-system84.js","sources":["../src/components/BTooltip.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-78f7c276\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"tooltip-arrow\",\n \"data-popper-arrow\": \"\"\n}, null, -1))\n\nimport { BTooltipOpenEvent, BTooltipPosition } from '@/constants/Enums';\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue';\n\n//#region Props\nexport interface BTooltipProps {\n modelValue?: boolean;\n /**\n * Position of opened tooltip compare to its toggle.\n */\n position?: `${BTooltipPosition}`;\n /**\n * Event to open tooltip.\n */\n openEvent?: `${BTooltipOpenEvent}`;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BTooltip',\n props: {\n modelValue: { type: Boolean, default: false },\n position: { default: BTooltipPosition.Top },\n openEvent: { default: BTooltipOpenEvent.Hover }\n },\n emits: [\"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 toggleRef = ref<HTMLDivElement | null>(null);\nconst contentRef = ref<HTMLDivElement | null>(null);\nconst mValue = ref(false);\nconst value = computed({\n get() {\n return props.modelValue !== undefined ? props.modelValue : mValue.value;\n },\n set(val: boolean) {\n if (props.modelValue !== undefined) {\n emit('update:modelValue', val);\n } else {\n mValue.value = val;\n }\n },\n});\n//endregion\n\n//region Watchers\nwatch(\n () => props.position,\n () => {\n resetContentPosition();\n ensureContentPosition();\n },\n);\nwatch(\n () => props.openEvent,\n () => {\n clearEventListeners();\n ensureEventListeners();\n },\n);\n//#endregion\n\n//region Methods\nconst onClick = () => {\n value.value = !value.value;\n};\nconst onFocus = () => {\n value.value = true;\n};\nconst onFocusOut = () => {\n value.value = false;\n};\nconst onHover = () => {\n value.value = true;\n};\nconst onHoverOut = () => {\n value.value = false;\n};\nconst resetContentPosition = () => {\n if (!contentRef.value) {\n return;\n }\n contentRef.value.style.top = '';\n contentRef.value.style.right = '';\n contentRef.value.style.bottom = '';\n contentRef.value.style.left = '';\n};\nconst ensureContentPosition = () => {\n if (!contentRef.value) {\n return;\n }\n\n switch (props.position) {\n case BTooltipPosition.Bottom:\n contentRef.value.style.top = '4px';\n break;\n case BTooltipPosition.Top:\n default:\n contentRef.value.style.bottom = '24px';\n break;\n }\n};\nconst ensureEventListeners = () => {\n switch (props.openEvent) {\n case BTooltipOpenEvent.Click:\n toggleRef.value?.addEventListener('click', onClick);\n break;\n case BTooltipOpenEvent.Focus:\n toggleRef.value?.addEventListener('focus', onFocus);\n toggleRef.value?.addEventListener('focusout', onFocusOut);\n break;\n case BTooltipOpenEvent.Hover:\n default:\n toggleRef.value?.addEventListener('mouseover', onHover);\n toggleRef.value?.addEventListener('mouseleave', onHoverOut);\n break;\n }\n};\nconst clearEventListeners = () => {\n toggleRef.value?.removeEventListener('click', onClick);\n toggleRef.value?.removeEventListener('focus', onFocus);\n toggleRef.value?.removeEventListener('mouseover', onHover);\n toggleRef.value?.removeEventListener('mouseleave', onHoverOut);\n};\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n ensureEventListeners();\n ensureContentPosition();\n});\nonBeforeUnmount(() => {\n clearEventListeners();\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", {\n ref_key: \"toggleRef\",\n ref: toggleRef,\n class: \"ds-inline\"\n }, [\n _renderSlot(_ctx.$slots, \"toggle\", {}, undefined, true)\n ], 512),\n _withDirectives(_createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n ref_key: \"contentRef\",\n ref: contentRef,\n class: \"ds-absolute ds-z-10 ds-inline-block ds-rounded-lg ds-bg-black/65 ds-px-3 ds-py-2 ds-text-sm ds-font-medium ds-text-white ds-shadow-sm ds-transition-opacity ds-duration-300\"\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true),\n _hoisted_2\n ], 512)\n ], 512), [\n [_vShow, value.value]\n ])\n ], 64))\n}\n}\n\n})"],"names":["_withScopeId","_pushScopeId","n","_popScopeId","_hoisted_1","_hoisted_2","_createElementVNode","_sfc_main","_defineComponent","BTooltipPosition","BTooltipOpenEvent","__props","__emit","props","emit","toggleRef","ref","contentRef","mValue","value","computed","val","watch","resetContentPosition","ensureContentPosition","clearEventListeners","ensureEventListeners","onClick","onFocus","onFocusOut","onHover","onHoverOut","_a","_b","_c","_d","_e","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_Fragment","_renderSlot","_withDirectives","_vShow"],"mappings":"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"}
|