{"version":3,"file":"select-toolbar.mjs","sources":["../../../../../../../packages/components/select/src/select-toolbar.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { HAPTICS_FEEDBACK, createNamespace } from '@xzx-design/utils'\nimport { bem, t } from './utils'\n\nconst [name] = createNamespace('select-toolbar')\n\nexport const selectToolbarProps = {\n  title: String,\n  cancelButtonText: String,\n  confirmButtonText: String,\n}\n\nexport const selectToolbarSlots = ['cancel', 'confirm', 'title', 'toolbar']\n\nexport type SelectToolbarPropKeys = Array<keyof typeof selectToolbarProps>\n\nexport const selectToolbarPropKeys = Object.keys(\n  selectToolbarProps\n) as SelectToolbarPropKeys\n\nexport default defineComponent({\n  name,\n\n  props: selectToolbarProps,\n\n  emits: ['confirm', 'cancel'],\n\n  setup(props, { emit, slots }) {\n    const renderTitle = () => {\n      if (slots.title) {\n        return slots.title()\n      }\n      if (props.title) {\n        return <div class={[bem('title'), 'xzx-ellipsis']}>{props.title}</div>\n      }\n    }\n\n    const onCancel = () => emit('cancel')\n    const onConfirm = () => emit('confirm')\n\n    const renderCancel = () => {\n      const text = props.cancelButtonText ?? t('cancel')\n\n      if (!slots.cancel && !text) {\n        return\n      }\n\n      return (\n        <button\n          type=\"button\"\n          class={[bem('cancel'), HAPTICS_FEEDBACK]}\n          onClick={onCancel}\n        >\n          {slots.cancel ? slots.cancel() : text}\n        </button>\n      )\n    }\n\n    const renderConfirm = () => {\n      const text = props.confirmButtonText ?? t('confirm')\n\n      if (!slots.confirm && !text) {\n        return\n      }\n\n      return (\n        <button\n          type=\"button\"\n          class={[bem('confirm'), HAPTICS_FEEDBACK]}\n          onClick={onConfirm}\n        >\n          {slots.confirm ? slots.confirm() : text}\n        </button>\n      )\n    }\n\n    return () => (\n      <div class={bem('toolbar')}>\n        {slots.toolbar\n          ? slots.toolbar()\n          : [renderCancel(), renderTitle(), renderConfirm()]}\n      </div>\n    )\n  },\n})\n"],"names":["name","createNamespace","selectToolbarProps","title","String","cancelButtonText","confirmButtonText","selectToolbarSlots","selectToolbarPropKeys","Object","keys","defineComponent","props","emits","setup","emit","slots","renderTitle","_createVNode","bem","onCancel","onConfirm","renderCancel","text","t","cancel","HAPTICS_FEEDBACK","renderConfirm","confirm","toolbar"],"mappings":"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"}