{"version":3,"sources":["webpack:///./src/lib/composables/useAuthInfo.ts","webpack:///./src/lib/composables/useContextSidebar.ts","webpack:///./src/components/sidebars/context/ContextSidebar.tsx","webpack:///./src/components/form/fields/EnderecoFields.tsx","webpack:///./src/components/sidebars/context/ContextSidebarMenuSubheader.tsx","webpack:///./src/components/sidebars/context/ContextSidebarMenuTileAction.tsx","webpack:///./src/components/sidebars/context/ContextSidebarMenu.tsx","webpack:///./src/modules/configuracoes/account/components/forms/ClinicaForm.tsx","webpack:///./src/components/datatable/columns/TdSwitch.tsx","webpack:///./src/components/sidebars/context/ContextSidebarMenuTileLink.tsx","webpack:///./src/components/sidebars/context/ContextSidebarMenuHeader.tsx","webpack:///./src/components/buttons/BtnSelectedRows.tsx","webpack:///./src/lib/composables/utils/useNome.ts","webpack:///./src/lib/helpers/jsx.ts","webpack:///./src/components/datatable/IndexDataTable.tsx","webpack:///./src/lib/helpers/models/users.ts","webpack:///./src/components/form/fields/TelefonesFields.tsx"],"names":["useAuthInfo","$user","s","auth","user","$clinica","clinica","$userIsProfissionalSaude","value","tipo","PROFISSIONAL_SAUDE","$userIsRecepcionista","RECEPCIONISTA","$userIsAdmin","adminAccount","adminClinica","clinicaId","id","useContextSidebar","ctx","width","miniWidth","$temporarySidebarOpen","layout","temporarySidebar","open","$showMiniSidebar","$currentWidth","$width","$miniVariant","$mini","contextSidebar","mini","useUpdateAppLeft","checkNoSidebar","fullPath","routesNoSidebar","includes","updateAppLeft","vuetify","application","left","ContextSidebar","name","setup","props","$miniIcon","sidebarExpand","sidebarCollapse","defaultSlot","slots","default","coolGray800","stop","toggleContext","EnderecoFields","type","Object","required","form","noPais","Boolean","$cepLoading","setCepLoading","$schema","enderecoCep","label","mask","loading","clearable","maxWidth","xs","enderecoLogradouro","sm","enderecoNumero","enderecoComplemento","enderecoBairro","enderecoCidade","enderecoUf","items","estados","itemLabel","itemValue","enderecoPais","paises","hidden","searchCep","searchValue","page","submitting","cep","emitInput","logradouro","bairro","cidade","uf","emit","newValue","ContextSidebarMenuSubheader","title","String","ContextSidebarMenuTileAction","menu","errorText","hasError","action","active","icon","text","ContextSidebarMenu","menus","Array","$menus","filter","f","map","index","header","subheader","divider","to","ClinicaForm","perfil","indexRoute","app","configAccount","clinicas","$noDelete","useForm","$form","emitSubmit","emitDelete","watchNome","model","dados","nome","telefones","endereco","initialValue","email","cnes","mapSchema","validations","maxLength","loadEditCallback","setFormModel","getById","editValue","numero","TdSwitch","input","ContextSidebarMenuTileLink","errorClass","noExact","listItemAction","imageUrl","cyan800","ContextSidebarMenuHeader","BtnSelectedRows","selected","$show","length","$label","num","$ids","v","activator","menuActivator","listMenus","on","selectedRows","menuDown","useNome","$nome","setNome","emitNomeChanged","scopedSlots","entries","reduce","obj","slotName","slot","IndexDataTable","titleText","btn","headers","selectable","actions","noSearch","draggable","$selected","setSelected","useComputeds","$button","$selectedMenus","$showActionsRow","useEvents","emitReorder","onClick","MyIcons","new","color","outlined","removeMany","selecionado","push","remove","selectedMenus","actionsSlot","getUserEspecialidade","tiss","cbo","find","getUserClinica","userClinicas","getUserTipo","userTipos","getEquipeTipoAcesso","ADMIN_ACCOUNT","userClinica","ADMIN_CLINICA","NONE","getEquipeTipoAcessoLabel","tipoAcesso","getUserHasOneClinica","TelefonesFields","handleAdd","telefone","idx","TelefoneField","Number","Function","$showRemoveBtn","$showAddBtn","schema","handleRemove","handleInput"],"mappings":"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","file":"js/config-account~config-clinica.e2e05251.js","sourcesContent":["import { UserTipo } from '@/typings';\nimport { computed } from '@vue/composition-api';\nimport { useState } from '.';\n\nexport function useAuthInfo() {\n const $user = useState(s => s.auth.user);\n\n const $clinica = useState(s => s.auth.clinica);\n\n const $userIsProfissionalSaude = computed(\n () => $user.value?.tipo === UserTipo.PROFISSIONAL_SAUDE,\n );\n\n const $userIsRecepcionista = computed(\n () => $user.value?.tipo === UserTipo.RECEPCIONISTA,\n );\n\n const $userIsAdmin = computed(\n () => !!$user.value?.adminAccount || !!$clinica.value?.adminClinica,\n );\n\n return {\n clinicaId: $clinica.value?.id,\n $user,\n $clinica,\n $userIsProfissionalSaude,\n $userIsRecepcionista,\n $userIsAdmin,\n };\n}\n","import { computed, SetupContext } from '@vue/composition-api';\nimport { useState } from '.';\nimport { watchRun } from '../vue';\nimport { useBreakpoints } from './utils/useBreakpoints';\nimport { useRoute } from './utils/useRouter';\nimport { useVuetify } from './utils/useVuetify';\n\nexport function useContextSidebar(ctx: SetupContext) {\n const width = 300;\n\n const miniWidth = 40;\n\n const $temporarySidebarOpen = useState(s => s.layout.temporarySidebar.open);\n\n const { $showMiniSidebar, $width: $currentWidth } = useBreakpoints();\n\n const $miniVariant = computed(() =>\n $showMiniSidebar.value ? $mini.value : false,\n );\n\n const $mini = useState(s => s.layout.contextSidebar.mini);\n\n return {\n $currentWidth,\n width,\n miniWidth,\n $temporarySidebarOpen,\n $showMiniSidebar,\n $miniVariant,\n $mini,\n };\n}\n\nexport function useUpdateAppLeft(ctx: SetupContext) {\n const {\n $miniVariant,\n miniWidth,\n width,\n $temporarySidebarOpen,\n $currentWidth,\n } = useContextSidebar(ctx);\n\n function checkNoSidebar() {\n const fullPath = useRoute().fullPath;\n\n const routesNoSidebar = [\n '/pacientes',\n '/configuracoes/meu-perfil',\n '/contatos',\n '/cid',\n ];\n\n return (\n routesNoSidebar.includes(fullPath) ||\n // routes => /cid/*\n fullPath.includes('/cid/') ||\n // routes => /contatos/*\n fullPath.includes('/contatos/') ||\n // routes => /erro/*\n fullPath.includes('/erro/')\n );\n }\n\n function updateAppLeft() {\n const vuetify = useVuetify();\n\n if (checkNoSidebar()) {\n return (vuetify.application.left = 0);\n }\n\n // fix the left padding issue\n vuetify.application.left = $miniVariant.value ? miniWidth : width;\n }\n\n watchRun($temporarySidebarOpen, updateAppLeft);\n\n watchRun($currentWidth, updateAppLeft);\n\n watchRun(() => useRoute().fullPath, updateAppLeft);\n}\n","import { useContextSidebar } from '@/lib/composables/useContextSidebar';\nimport { MyIcons } from '@/lib/helpers/MyIcons';\nimport { MyTheme } from '@/lib/helpers/MyTheme';\nimport { createComponent, modifiers } from '@/lib/vue';\nimport { LayoutState } from '@/store/modules/layout.store';\nimport { computed } from '@vue/composition-api';\n\nexport const ContextSidebar = createComponent({\n name: 'ContextSidebar',\n setup(props, ctx) {\n const { $mini, width, miniWidth, $miniVariant, $showMiniSidebar } =\n useContextSidebar(ctx);\n\n const $miniIcon = computed(() =>\n $mini.value ? MyIcons.sidebarExpand : MyIcons.sidebarCollapse,\n );\n\n return () => {\n const defaultSlot = ctx.slots.default?.();\n\n return (\n
\n \n {$showMiniSidebar.value && (\n \n {$miniIcon.value}\n \n )}\n\n {!$miniVariant.value && defaultSlot}\n \n
\n );\n };\n },\n});\n\nexport default ContextSidebar;\n","import { PageSection } from '@/components/page/PageSection';\nimport { useValue } from '@/lib/composables';\nimport { ConstantsHelper } from '@/lib/constants/helper';\nimport { CepService } from '@/lib/services';\nimport { createComponent, watchRun } from '@/lib/vue';\nimport { IEnderecoModel, IForm, IFormSchema, IRequireField } from '@/typings';\nimport { computed } from '@vue/composition-api';\nimport { FormFields } from './FormFields';\n\ninterface IJsxProps {\n // model\n value?: IEnderecoModel;\n form: IForm;\n noPais?: boolean;\n}\n\ntype IProps = IRequireField;\n\ninterface IEvents {\n onInput: (endereco: IEnderecoModel) => void;\n}\n\nexport const EnderecoFields = createComponent({\n name: 'EnderecoFields',\n props: {\n value: { type: Object, required: true },\n form: { type: Object, required: true },\n noPais: { type: Boolean, default: false },\n },\n setup(props: IProps, ctx) {\n const [$cepLoading, setCepLoading] = useValue(false);\n\n const $schema = computed>(() => {\n return {\n enderecoCep: {\n label: 'CEP',\n type: 'text',\n mask: 'cep',\n loading: $cepLoading.value,\n clearable: true,\n layout: {\n maxWidth: 150,\n xs: 12,\n },\n },\n enderecoLogradouro: {\n label: 'Logradouro',\n type: 'text',\n layout: { sm: 8 },\n },\n enderecoNumero: {\n label: 'Número',\n type: 'text',\n layout: { sm: 4 },\n },\n enderecoComplemento: {\n label: 'Complemento',\n type: 'text',\n layout: { sm: 6 },\n },\n enderecoBairro: {\n label: 'Bairro',\n type: 'text',\n layout: { sm: 6 },\n },\n enderecoCidade: {\n label: 'Cidade',\n type: 'text',\n layout: {\n sm: 8,\n maxWidth: 500,\n },\n },\n enderecoUf: {\n label: 'UF',\n type: 'select',\n items: ConstantsHelper.estados,\n itemLabel: 'sigla',\n itemValue: 'sigla',\n layout: { maxWidth: 100 },\n },\n enderecoPais: {\n label: 'País',\n type: 'autocomplete',\n items: ConstantsHelper.paises,\n itemLabel: 'nome',\n itemValue: 'nome',\n hidden: props.noPais,\n layout: {\n maxWidth: 380,\n xs: 12,\n },\n },\n };\n });\n\n async function searchCep(searchValue: string | null | undefined) {\n if (\n !searchValue ||\n !props.value ||\n props.form.loading ||\n props.form.page.submitting\n ) {\n return;\n }\n\n setCepLoading(true);\n\n const cep = await CepService.cep(searchValue);\n\n setCepLoading(false);\n\n if (cep) {\n emitInput({\n enderecoCep: searchValue,\n enderecoLogradouro: cep.logradouro,\n enderecoNumero: props.value.enderecoNumero,\n enderecoComplemento: '', // cep.complemento,\n enderecoBairro: cep.bairro,\n enderecoCidade: cep.cidade,\n enderecoUf: cep.uf,\n enderecoPais: props.value.enderecoPais,\n });\n }\n }\n\n function emitInput(value: IEnderecoModel) {\n ctx.emit('input', value);\n }\n\n watchRun(\n () => props.value.enderecoCep,\n newValue => searchCep(newValue),\n );\n\n return () => (\n \n \n \n );\n },\n});\n","import { createComponent } from '@/lib/vue';\n\ninterface IProps {\n title: string;\n}\n\nexport const ContextSidebarMenuSubheader = createComponent({\n name: 'ContextSidebarMenuSubheader',\n props: {\n title: { type: String, required: true },\n },\n setup(props, ctx) {\n return () => {props.title};\n },\n});\n","import { createComponent } from '@/lib/vue';\nimport { IMenu } from '@/typings';\n\ninterface IProps {\n menu: IMenu;\n}\n\nexport const ContextSidebarMenuTileAction = createComponent({\n name: 'ContextSidebarMenuTileAction',\n props: {\n menu: { type: Object, required: true },\n },\n setup(props, ctx) {\n return () => {\n const { menu } = props;\n\n const errorText = { 'text-error': !!menu.hasError };\n\n return (\n \n {menu.icon && (\n \n {menu.icon}\n \n )}\n\n \n {menu.text}\n \n \n );\n };\n },\n});\n","import { createComponent } from '@/lib/vue';\nimport { IMenu } from '@/typings';\nimport { computed } from '@vue/composition-api';\nimport { ContextSidebarMenuHeader } from './ContextSidebarMenuHeader';\nimport { ContextSidebarMenuSubheader } from './ContextSidebarMenuSubheader';\nimport { ContextSidebarMenuTileAction } from './ContextSidebarMenuTileAction';\nimport { ContextSidebarMenuTileLink } from './ContextSidebarMenuTileLink';\n\ninterface IProps {\n menus: readonly IMenu[];\n}\n\nexport const ContextSidebarMenu = createComponent({\n name: 'ContextSidebarMenu',\n props: {\n menus: { type: Array, required: true },\n },\n setup(props, ctx) {\n const $menus = computed(() => props.menus.filter(f => !f.hidden));\n\n return () => {$menus.value.map(menuItem)};\n },\n});\n\nconst menuItem = (menu: IMenu, index: number) => {\n if (menu.header && menu.text) {\n return ;\n } else if (menu.subheader && menu.text) {\n return ;\n } else if (menu.divider) {\n return ;\n } else if (menu.action) {\n return ;\n } else if (menu.to) {\n return ;\n }\n};\n","import { EnderecoFields } from '@/components/form/fields/EnderecoFields';\nimport { FormFields } from '@/components/form/fields/FormFields';\nimport { TelefonesFields } from '@/components/form/fields/TelefonesFields';\nimport { MyForm } from '@/components/form/MyForm';\nimport { PageSection } from '@/components/page/PageSection';\nimport {\n IFormEvents,\n IFormProps,\n useFormConfig,\n} from '@/lib/composables/form/useFormConfig';\nimport { useAuthInfo } from '@/lib/composables/useAuthInfo';\nimport { INomeEvents, useNome } from '@/lib/composables/utils/useNome';\nimport { uuid } from '@/lib/helpers/uuid';\nimport { ClinicaService } from '@/lib/services';\nimport { createComponent } from '@/lib/vue';\nimport { Routes } from '@/routes/routes';\nimport { redirectError } from '@/routes/utils';\nimport {\n IClinicaFormModel,\n IClinicaFormSchema,\n ITelefoneModel,\n} from '@/typings';\nimport { computed, SetupContext } from '@vue/composition-api';\n\ninterface IProps extends IFormProps {\n perfil?: boolean;\n}\n\ninterface IEvents extends IFormEvents, INomeEvents {}\n\nexport const ClinicaForm = createComponent({\n name: 'ClinicaForm',\n props: {\n perfil: { type: Boolean, default: false },\n page: { type: Object, required: true },\n },\n setup(props, ctx) {\n const indexRoute = Routes.app.configAccount.clinicas.index;\n\n const { $clinica, $userIsAdmin } = useAuthInfo();\n\n const $noDelete = computed(\n () =>\n props.perfil ||\n props.page.id === $clinica.value?.id ||\n !$userIsAdmin.value,\n );\n\n const { $form, $schema, emitSubmit, emitDelete } = useForm({\n props,\n ctx,\n });\n\n useNome({\n ctx,\n watchNome: () => $form.value.model.dados.nome,\n });\n\n return () => (\n \n \n \n \n\n \n\n \n \n );\n },\n});\n\nfunction useForm({ props, ctx }: { props: IProps; ctx: SetupContext }) {\n return useFormConfig({\n page: props.page,\n initialValue: {\n dados: {\n nome: null,\n email: null,\n cnes: null,\n },\n telefones: [],\n endereco: {\n enderecoCep: null,\n enderecoLogradouro: null,\n enderecoNumero: null,\n enderecoComplemento: null,\n enderecoBairro: null,\n enderecoCidade: null,\n enderecoUf: null,\n },\n },\n mapSchema: () => ({\n dados: {\n nome: {\n label: 'Nome',\n type: 'text',\n validations: {\n required: true,\n },\n },\n email: {\n label: 'Email',\n type: 'email',\n },\n cnes: {\n label: 'Código no CNES',\n type: 'text',\n maxLength: 7,\n },\n },\n }),\n ctx,\n async loadEditCallback({ id, setFormModel }) {\n const editValue = await ClinicaService.getById(id);\n\n if (!editValue) return redirectError(404);\n\n const telefones: ITelefoneModel[] = (editValue.telefones || []).map(\n numero => ({\n id: uuid(),\n numero,\n }),\n );\n\n setFormModel({\n dados: {\n nome: editValue.nome,\n email: editValue.email,\n cnes: editValue.cnes,\n },\n telefones,\n endereco: {\n enderecoCep: editValue.enderecoCep,\n enderecoLogradouro: editValue.enderecoLogradouro,\n enderecoNumero: editValue.enderecoNumero,\n enderecoComplemento: editValue.enderecoComplemento,\n enderecoBairro: editValue.enderecoBairro,\n enderecoCidade: editValue.enderecoCidade,\n enderecoUf: editValue.enderecoUf,\n },\n });\n },\n });\n}\n","import { InputSwitch } from '@/components/form/inputs/InputSwitch';\nimport { createComponent } from '@/lib/vue';\nimport { IDataTableHeader, IFormInputSwitch } from '@/typings';\nimport { PropType } from 'vue';\n\ninterface IProps {\n value?: boolean;\n input: IFormInputSwitch;\n header: IDataTableHeader;\n}\n\ninterface IEvents {\n onInput: (value: boolean | null) => void;\n}\n\nexport const TdSwitch = createComponent({\n name: 'TdSwitch',\n props: {\n value: { type: Boolean, default: false },\n input: { type: Object as PropType, required: true },\n header: { type: Object as PropType, required: true },\n },\n setup(props, ctx) {\n function emitInput(value: boolean | null) {\n ctx.emit('input', value);\n }\n\n return () => (\n
\n \n
\n );\n },\n});\n","import { createComponent } from '@/lib/vue';\nimport { IMenu } from '@/typings';\nimport { MyTheme } from '@/lib/helpers/MyTheme';\n\ninterface IProps {\n menu: IMenu;\n}\n\nexport const ContextSidebarMenuTileLink = createComponent({\n name: 'ContextSidebarMenuTileLink',\n props: {\n menu: { type: Object, required: true },\n },\n setup(props, ctx) {\n return () => {\n const { menu } = props;\n\n const errorClass = menu.hasError ? 'text-error' : '';\n\n return (\n \n {listItemAction({ menu, errorClass })}\n\n \n {menu.text}\n \n \n );\n };\n },\n});\n\nfunction listItemAction({\n menu,\n errorClass,\n}: {\n menu: IMenu;\n errorClass: string;\n}) {\n if (menu.imageUrl) {\n return (\n \n \n {menu.text}\n \n \n );\n } else if (menu.icon) {\n return (\n \n {menu.icon}\n \n );\n }\n\n return null;\n}\n","import { createComponent } from '@/lib/vue';\n\ninterface IProps {\n title: string;\n}\n\nexport const ContextSidebarMenuHeader = createComponent({\n name: 'ContextSidebarMenuHeader',\n props: {\n title: { type: String, required: true },\n },\n setup(props, ctx) {\n return () => (\n
\n \n {props.title}\n \n\n \n
\n );\n },\n});\n\nexport default ContextSidebarMenuHeader;\n","import { MyIcons } from '@/lib/helpers/MyIcons';\nimport { createComponent } from '@/lib/vue';\nimport { IItem, IMenuSelected } from '@/typings';\nimport { computed, ComputedRef, Ref } from '@vue/composition-api';\nimport isString from 'lodash/isString';\n\ninterface IProps {\n selected: Array;\n menus: readonly IMenuSelected[];\n}\n\nexport const BtnSelectedRows = createComponent({\n name: 'BtnSelectedRows',\n props: {\n selected: { type: Array, required: true },\n menus: { type: Array, required: true },\n },\n setup(props, ctx) {\n const $show = computed(\n () => !!props.selected.length && !!props.menus.length,\n );\n\n const $label = computed(() => {\n const num = props.selected.length;\n const label = num > 1 ? 'selecionados' : 'selecionado';\n\n return `${num} ${label}`;\n });\n\n const $ids = computed(() =>\n props.selected.map(v => (isString(v) ? v : v.id)),\n );\n\n return () => (\n \n {$show.value && (\n \n {listMenus({ props, $ids })}\n \n )}\n \n );\n },\n});\n\nconst menuActivator =\n ($label: Ref) =>\n ({ on }) =>\n (\n \n {MyIcons.selectedRows}\n\n {$label.value}\n\n {MyIcons.menuDown}\n \n );\n\nconst listMenus = ({\n props,\n $ids,\n}: {\n props: IProps;\n $ids: ComputedRef;\n}) => (\n \n {props.menus.map(menu => (\n menu.action($ids.value, props.selected)}\n >\n \n {menu.icon}\n \n\n \n {menu.text}\n \n \n ))}\n \n);\n","import { watchRun } from '@/lib/vue';\nimport { SetupContext } from '@vue/composition-api';\nimport { useValue } from '..';\n\nexport interface INomeEvents {\n onNomeChanged: (nome: string | null) => void;\n}\n\nexport function useNome({\n ctx,\n watchNome,\n}: {\n ctx: SetupContext;\n watchNome?: () => string | null | undefined;\n}) {\n const [$nome, setNome] = useValue(null);\n\n watchRun($nome, emitNomeChanged);\n\n if (watchNome) {\n watchRun(watchNome, nome => {\n setNome(nome);\n emitNomeChanged(nome);\n });\n }\n\n function emitNomeChanged(nome: string | null | undefined) {\n ctx.emit('nomeChanged', nome || null);\n }\n\n return {\n $nome,\n setNome,\n emitNomeChanged,\n };\n}\n","import { SetupContext } from '@vue/composition-api';\n\nexport const bindProps = props => ({ attrs: props });\n\nexport const passDownScopedSlots = (scopedSlots: SetupContext['slots']) =>\n Object.entries(scopedSlots).reduce(\n (obj, [slotName, slot]) => ({\n ...obj,\n [slotName]: props => slot && slot(props),\n }),\n {} as any,\n );\n","import { useValue } from '@/lib/composables';\nimport { passDownScopedSlots } from '@/lib/helpers/jsx';\nimport { MyIcons } from '@/lib/helpers/MyIcons';\nimport { createComponent } from '@/lib/vue';\nimport {\n IIndexDataTableActions,\n IIndexDataTableButton,\n IMenuSelected,\n IDataTableHeader,\n} from '@/typings';\nimport { computed, ComputedRef, Ref, SetupContext } from '@vue/composition-api';\nimport { BtnSelectedRows } from '../buttons/BtnSelectedRows';\nimport { PageSection } from '../page/PageSection';\nimport { FormHeader } from '../typography/FormHeader';\nimport { DataTable } from './DataTable';\n\ninterface IProps {\n title?: string | null;\n titleText?: string | null;\n btn?: IIndexDataTableButton | null;\n headers: readonly IDataTableHeader[];\n items?: readonly any[] | null;\n loading?: boolean;\n selectable?: boolean;\n actions?: IIndexDataTableActions | null;\n noSearch?: boolean;\n divider?: boolean;\n draggable?: boolean;\n}\n\ninterface IEvents {\n onReorder: (items: any[]) => void;\n}\n\nexport const IndexDataTable = createComponent({\n name: 'IndexDataTable',\n props: {\n title: { type: String },\n titleText: { type: String },\n btn: { type: Object },\n headers: { type: Array, required: true },\n items: { type: Array, default: () => [] },\n loading: { type: Boolean, default: false },\n selectable: { type: Boolean, default: true },\n actions: { type: Object },\n noSearch: { type: Boolean, default: false },\n divider: { type: Boolean, default: false },\n draggable: { type: Boolean, default: false },\n },\n setup(props, ctx) {\n const [$selected, setSelected] = useValue([]);\n\n const { $button, $selectedMenus, $showActionsRow } = useComputeds({\n props,\n $selected,\n });\n\n const { emitReorder } = useEvents(ctx);\n\n return () => (\n \n {(props.title || props.titleText) && (\n \n )}\n\n {actionsRow({\n ctx,\n $selected,\n $showActionsRow,\n $button,\n $selectedMenus,\n })}\n\n \n \n );\n },\n});\n\nfunction useComputeds({\n props,\n $selected,\n}: {\n props: IProps;\n $selected: Ref;\n}) {\n const $button = computed(() => ({\n to: null,\n onClick: () => null,\n icon: MyIcons.new,\n text: '',\n color: 'primary',\n outlined: false,\n ...props.btn,\n }));\n\n const $showActionsRow = computed(\n () => !!props.btn || (!!props.selectable && !!props.actions?.removeMany),\n );\n\n const $selectedMenus = computed(() => {\n let menus: IMenuSelected[] = [];\n\n const selecionado =\n $selected.value.length > 1 ? 'selecionados' : 'selecionado';\n\n if (props.actions) {\n if (props.actions.removeMany) {\n menus.push({\n text: `Excluir ${selecionado}`,\n icon: MyIcons.remove,\n action: props.actions.removeMany,\n });\n }\n\n if (props.actions.selectedMenus) {\n menus = [...menus, ...props.actions.selectedMenus];\n }\n }\n\n return menus;\n });\n\n return {\n $button,\n $showActionsRow,\n $selectedMenus,\n };\n}\n\nfunction useEvents(ctx: SetupContext) {\n function emitReorder(items: any[]) {\n ctx.emit('reorder', items);\n }\n\n return { emitReorder };\n}\n\nconst actionsRow = ({\n ctx,\n $selected,\n $showActionsRow,\n $button,\n $selectedMenus,\n}: {\n ctx: SetupContext;\n $selected: Ref;\n $showActionsRow: Ref;\n $button: Ref;\n $selectedMenus: ComputedRef;\n}) => {\n const actionsSlot = ctx.slots.actions?.();\n\n return (\n $showActionsRow.value && (\n
\n \n\n \n\n {actionsSlot || (\n \n {$button.value.icon}\n {$button.value.text}\n \n )}\n
\n )\n );\n};\n","import { ConstantsHelper } from '@/lib/constants/helper';\nimport {\n IEquipeTipoAcessoLabel,\n IUserFragment,\n IUserFragment_clinicas,\n UserEquipeTipoAcesso,\n} from '@/typings';\n\nexport const getUserEspecialidade = (v: IUserFragment) =>\n ConstantsHelper.tiss.cbo.find(f => f.value === v.cbo)?.label ||\n 'Profissional de saúde';\n\nexport const getUserClinica = (\n v: IUserFragment,\n clinicaId: string,\n): IUserFragment_clinicas | undefined => {\n const userClinicas = v.clinicas || [];\n\n return userClinicas.find(f => f.clinica.id === clinicaId);\n};\n\nexport const getUserTipo = (v: IUserFragment) =>\n ConstantsHelper.userTipos.find(f => f.value === v.tipo)?.label;\n\nexport const getEquipeTipoAcesso = (\n v: IUserFragment,\n clinicaId: string,\n): UserEquipeTipoAcesso => {\n if (v.adminAccount) {\n return UserEquipeTipoAcesso.ADMIN_ACCOUNT;\n }\n\n const userClinica = getUserClinica(v, clinicaId);\n\n if (userClinica?.adminClinica) {\n return UserEquipeTipoAcesso.ADMIN_CLINICA;\n }\n\n return UserEquipeTipoAcesso.NONE;\n};\n\nexport const getEquipeTipoAcessoLabel = (\n v: IUserFragment,\n clinicaId: string,\n): IEquipeTipoAcessoLabel => {\n const tipoAcesso = getEquipeTipoAcesso(v, clinicaId);\n\n switch (tipoAcesso) {\n case UserEquipeTipoAcesso.ADMIN_ACCOUNT:\n return 'Administrador da Conta';\n\n case UserEquipeTipoAcesso.ADMIN_CLINICA:\n return 'Administrador da Clínica';\n\n default:\n return 'Acesso restrito';\n }\n};\n\nexport const getUserHasOneClinica = (v: IUserFragment, clinicaId: string) => {\n if (!v.clinicas || !v.clinicas.length) {\n return false;\n }\n\n return v.clinicas.length === 1 && !!getUserClinica(v, clinicaId);\n};\n","import { BtnSmall } from '@/components/buttons/BtnSmall';\nimport { PageSection } from '@/components/page/PageSection';\nimport { uuid } from '@/lib/helpers/uuid';\nimport { createComponent, watchRun } from '@/lib/vue';\nimport {\n IForm,\n IFormSchema,\n IModel,\n IRequireField,\n ITelefoneModel,\n} from '@/typings';\nimport { computed } from '@vue/composition-api';\nimport { FormFields } from './FormFields';\n\ninterface IJsxProps {\n // model\n value?: ITelefoneModel[];\n form: IForm;\n}\n\ntype IProps = IRequireField;\n\ninterface IEvents {\n onInput: (telefones: ITelefoneModel[]) => void;\n}\n\nexport const TelefonesFields = createComponent({\n name: 'TelefonesFields',\n props: {\n value: { type: Array, required: true },\n form: { type: Object, required: true },\n },\n setup(props: IProps, ctx) {\n function emitInput(value: ITelefoneModel[]) {\n ctx.emit('input', value);\n }\n\n function handleAdd() {\n emitInput([...props.value, { id: uuid(), numero: null }]);\n }\n\n watchRun(\n () => props.value.length,\n length => length === 0 && handleAdd(),\n );\n\n return () => (\n \n
\n {props.value.map((telefone, idx) => (\n \n ))}\n
\n
\n );\n },\n});\n\ninterface IFieldProps {\n telefones: ITelefoneModel[];\n value: ITelefoneModel;\n idx: number;\n form: IForm;\n handleAdd: () => void;\n emitInput: (telefones: ITelefoneModel[]) => void;\n}\n\nconst TelefoneField = createComponent({\n name: 'TelefoneField',\n props: {\n value: { type: Object, required: true },\n telefones: { type: Array, required: true },\n idx: { type: Number, required: true },\n form: { type: Object, required: true },\n handleAdd: { type: Function, required: true },\n emitInput: { type: Function, required: true },\n },\n setup(props, ctx) {\n const $showRemoveBtn = computed(() => props.telefones.length > 1);\n\n const $showAddBtn = computed(\n () =>\n props.idx + 1 === props.telefones.length &&\n !!props.telefones[props.idx].numero,\n );\n\n const schema: IFormSchema = {\n numero: {\n label: 'Telefone',\n type: 'text',\n mask: 'telefone',\n },\n };\n\n function handleRemove() {\n props.emitInput(props.telefones.filter(v => v.id !== props.value.id));\n }\n\n function handleInput() {\n props.telefones[props.idx] = props.value;\n\n props.emitInput(props.telefones);\n }\n\n return () => {\n return (\n
\n \n\n
\n {$showRemoveBtn.value && (\n \n )}\n\n {$showAddBtn.value && (\n \n )}\n
\n
\n );\n };\n },\n});\n"],"sourceRoot":""}