{"version":3,"file":"UModalActions.mjs","names":["makeComponentProps","Sizes","computed","ref","UCheckbox","BaseCheckboxVariant","UButton","UntitledColorTypes","genericComponent","propsFactory","useRender","makeUModalActionsProps","_objectSpread","dualAction","type","Boolean","destructive","checkboxControl","smallActions","primaryButtonText","String","required","secondaryButtonText","checkboxText","UModalActions","name","props","emits","click","e","check","isChecked","action","isPrimary","setup","_ref","emit","onClick","primaryButtonAction","secondaryButtonAction","onCheck","value","actionButtonsClasses","concat","secondaryButtonClasses","primaryButtonClasses","checkboxClasses","checkboxTextClasses","checkboxComponentClasses","actionContainerClasses","_createVNode","sm","md","secondaryGray","_default","primary"],"sources":["../../../src/components/UModal/UModalActions.tsx"],"sourcesContent":["import { makeComponentProps } from '@/composables/component'\nimport { Sizes } from '@/composables/size'\nimport { computed, ref } from 'vue'\n\nimport { UCheckbox } from '@/components/UCheckbox/UCheckbox'\nimport BaseCheckboxVariant from '@/types/baseCheckboxVariants'\nimport { UButton } from '@/components/UButton/UButton'\nimport UntitledColorTypes from '@/types/untitledColorTypes'\n\nimport { genericComponent, propsFactory, useRender } from '@/utils'\n\nexport const makeUModalActionsProps = propsFactory(\n  {\n    dualAction: {\n      type: Boolean,\n      default: true,\n    },\n    destructive: {\n      type: Boolean,\n      default: false,\n    },\n    checkboxControl: {\n      type: Boolean,\n      default: false,\n    },\n    smallActions: {\n      type: Boolean,\n      default: false,\n    },\n    primaryButtonText: {\n      type: String,\n      required: true,\n    },\n    secondaryButtonText: {\n      type: String,\n      required: false,\n    },\n    checkboxText: {\n      type: String,\n      required: false,\n    },\n    ...makeComponentProps(),\n  },\n  'UModalActions'\n)\n\nexport const UModalActions = genericComponent()({\n  name: 'UModalActions',\n\n  props: makeUModalActionsProps(),\n\n  emits: {\n    click: (e: MouseEvent) => true,\n    check: (isChecked: boolean) => true,\n    action: (isPrimary: boolean) => true,\n  },\n\n  setup(props, { emit }) {\n    const isChecked = ref(false)\n\n    function onClick(e: MouseEvent) {\n      emit('click', e)\n    }\n\n    function primaryButtonAction() {\n      emit('action', true)\n    }\n\n    function secondaryButtonAction() {\n      emit('action', false)\n    }\n\n    function onCheck() {\n      isChecked.value = !isChecked.value\n      emit('check', isChecked.value)\n    }\n\n    const actionButtonsClasses = computed<string>(\n      () =>\n        `box-border flex gap-3 flex-wrap sm:flex-nowrap order-1 sm:order-2 ${\n          props.smallActions && !props.checkboxControl\n            ? 'w-full sm:w-auto justify-end'\n            : ''\n        }\n          ${\n            props.smallActions && props.checkboxControl\n              ? 'w-full sm:w-auto justify-end'\n              : 'w-full basis-full flex-1'\n          }`\n    )\n\n    const secondaryButtonClasses = computed<string>(\n      () =>\n        `order-2 sm:order-1 justify-center ${\n          props.smallActions\n            ? 'basis-full flex-1 sm:basis-0 sm:flex-none'\n            : 'basis-full flex-1'\n        }`\n    )\n\n    const primaryButtonClasses = computed<string>(\n      () =>\n        `order-1 sm:order-2 justify-center ${\n          props.smallActions\n            ? 'basis-full flex-1 sm:basis-0 sm:flex-none'\n            : 'basis-full flex-1'\n        }`\n    )\n\n    const checkboxClasses = computed<string>(\n      () =>\n        `hidden sm:flex items-center gap-2 order-2 sm:order-1 ${\n          props.smallActions ? 'flex-1 basis-full' : 'basis-full flex-1'\n        }`\n    )\n\n    const checkboxTextClasses = computed<string>(\n      () => `text-text-sm font-medium text-gray-700`\n    )\n\n    const checkboxComponentClasses = computed<string>(() => `flex-shrink-0`)\n\n    const actionContainerClasses = computed<string>(\n      () =>\n        `box-border flex w-full mt-[24px] sm:mt-[32px] flex-nowrap ${\n          props.smallActions && !props.checkboxControl\n            ? 'justify-end'\n            : 'justify-between'\n        }`\n    )\n\n    useRender(() => (\n      <div class={actionContainerClasses.value}>\n        {props.checkboxControl ? (\n          <div class={checkboxClasses.value}>\n            <UCheckbox\n              checked={isChecked.value}\n              onClick={onCheck}\n              class={checkboxComponentClasses.value}\n              size={Sizes.sm}\n              variant={BaseCheckboxVariant.default}\n            ></UCheckbox>\n            <div class={checkboxTextClasses.value}>{props.checkboxText}</div>\n          </div>\n        ) : null}\n        <div class={actionButtonsClasses.value} onClick={onClick}>\n          {props.dualAction ? (\n            <div class={secondaryButtonClasses.value}>\n              <UButton\n                onClick={secondaryButtonAction}\n                size={Sizes.md}\n                type={UntitledColorTypes.secondaryGray}\n              >\n                {props.secondaryButtonText}\n              </UButton>\n            </div>\n          ) : null}\n\n          <div class={primaryButtonClasses.value}>\n            <UButton\n              onClick={primaryButtonAction}\n              size={Sizes.md}\n              type={UntitledColorTypes.primary}\n              destructive={props.destructive}\n            >\n              {props.primaryButtonText}\n            </UButton>\n          </div>\n        </div>\n      </div>\n    ))\n    return {\n      onCheck,\n    }\n  },\n})\n\nexport type UModalActions = InstanceType<typeof UModalActions>\n"],"mappings":"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"}