@treeui/vue 0.8.0 → 0.10.0
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/README.md +1 -1
- package/dist/components/TAccordion.cjs +2 -0
- package/dist/components/TAccordion.cjs.map +1 -0
- package/dist/components/TAccordion.js +7 -0
- package/dist/components/TAccordion.js.map +1 -0
- package/dist/components/TAccordion.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TAccordion.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TAccordion.vue_vue_type_script_setup_true_lang.js +97 -0
- package/dist/components/TAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TAccordionItem.cjs +2 -0
- package/dist/components/TAccordionItem.cjs.map +1 -0
- package/dist/components/TAccordionItem.js +7 -0
- package/dist/components/TAccordionItem.js.map +1 -0
- package/dist/components/TAccordionItem.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TAccordionItem.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TAccordionItem.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/TAccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TAlert.cjs +2 -0
- package/dist/components/TAlert.cjs.map +1 -0
- package/dist/components/TAlert.js +7 -0
- package/dist/components/TAlert.js.map +1 -0
- package/dist/components/TAlert.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TAlert.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TAlert.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/TAlert.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TAvatar.cjs +2 -0
- package/dist/components/TAvatar.cjs.map +1 -0
- package/dist/components/TAvatar.js +7 -0
- package/dist/components/TAvatar.js.map +1 -0
- package/dist/components/TAvatar.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TAvatar.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TAvatar.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/components/TAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TBadge.cjs +2 -0
- package/dist/components/TBadge.cjs.map +1 -0
- package/dist/components/TBadge.js +7 -0
- package/dist/components/TBadge.js.map +1 -0
- package/dist/components/TBadge.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TBadge.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TBadge.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/TBadge.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TBreadcrumb.cjs +2 -0
- package/dist/components/TBreadcrumb.cjs.map +1 -0
- package/dist/components/TBreadcrumb.js +7 -0
- package/dist/components/TBreadcrumb.js.map +1 -0
- package/dist/components/TBreadcrumb.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TBreadcrumb.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TBreadcrumb.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/components/TBreadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TBreadcrumbItem.cjs +2 -0
- package/dist/components/TBreadcrumbItem.cjs.map +1 -0
- package/dist/components/TBreadcrumbItem.js +7 -0
- package/dist/components/TBreadcrumbItem.js.map +1 -0
- package/dist/components/TBreadcrumbItem.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TBreadcrumbItem.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TBreadcrumbItem.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/TBreadcrumbItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TButton.cjs +2 -0
- package/dist/components/TButton.cjs.map +1 -0
- package/dist/components/TButton.js +7 -0
- package/dist/components/TButton.js.map +1 -0
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TCard.cjs +2 -0
- package/dist/components/TCard.cjs.map +1 -0
- package/dist/components/TCard.js +7 -0
- package/dist/components/TCard.js.map +1 -0
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TCheckbox.cjs +2 -0
- package/dist/components/TCheckbox.cjs.map +1 -0
- package/dist/components/TCheckbox.js +7 -0
- package/dist/components/TCheckbox.js.map +1 -0
- package/dist/components/TCheckbox.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TCheckbox.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TCheckbox.vue_vue_type_script_setup_true_lang.js +106 -0
- package/dist/components/TCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TCombobox.cjs +2 -0
- package/dist/components/TCombobox.cjs.map +1 -0
- package/dist/components/TCombobox.js +7 -0
- package/dist/components/TCombobox.js.map +1 -0
- package/dist/components/TCombobox.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TCombobox.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TCombobox.vue_vue_type_script_setup_true_lang.js +282 -0
- package/dist/components/TCombobox.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TConfirmDialog.cjs +2 -0
- package/dist/components/TConfirmDialog.cjs.map +1 -0
- package/dist/components/TConfirmDialog.js +7 -0
- package/dist/components/TConfirmDialog.js.map +1 -0
- package/dist/components/TConfirmDialog.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TConfirmDialog.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TConfirmDialog.vue_vue_type_script_setup_true_lang.js +145 -0
- package/dist/components/TConfirmDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TContainer.cjs +2 -0
- package/dist/components/TContainer.cjs.map +1 -0
- package/dist/components/TContainer.js +7 -0
- package/dist/components/TContainer.js.map +1 -0
- package/dist/components/TContainer.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TContainer.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TContainer.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/TContainer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TContextMenu.cjs +2 -0
- package/dist/components/TContextMenu.cjs.map +1 -0
- package/dist/components/TContextMenu.js +7 -0
- package/dist/components/TContextMenu.js.map +1 -0
- package/dist/components/TContextMenu.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TContextMenu.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TContextMenu.vue_vue_type_script_setup_true_lang.js +149 -0
- package/dist/components/TContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TDatePicker.cjs +2 -0
- package/dist/components/TDatePicker.cjs.map +1 -0
- package/dist/components/TDatePicker.js +7 -0
- package/dist/components/TDatePicker.js.map +1 -0
- package/dist/components/TDatePicker.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TDatePicker.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TDatePicker.vue_vue_type_script_setup_true_lang.js +305 -0
- package/dist/components/TDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TDateTimePicker.cjs +2 -0
- package/dist/components/TDateTimePicker.cjs.map +1 -0
- package/dist/components/TDateTimePicker.js +7 -0
- package/dist/components/TDateTimePicker.js.map +1 -0
- package/dist/components/TDateTimePicker.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TDateTimePicker.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TDateTimePicker.vue_vue_type_script_setup_true_lang.js +409 -0
- package/dist/components/TDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TDivider.cjs +2 -0
- package/dist/components/TDivider.cjs.map +1 -0
- package/dist/components/TDivider.js +7 -0
- package/dist/components/TDivider.js.map +1 -0
- package/dist/components/TDivider.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TDivider.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TDivider.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/TDivider.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TDrawer.cjs +2 -0
- package/dist/components/TDrawer.cjs.map +1 -0
- package/dist/components/TDrawer.js +7 -0
- package/dist/components/TDrawer.js.map +1 -0
- package/dist/components/TDrawer.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TDrawer.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TDrawer.vue_vue_type_script_setup_true_lang.js +168 -0
- package/dist/components/TDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TDropdown.cjs +2 -0
- package/dist/components/TDropdown.cjs.map +1 -0
- package/dist/components/TDropdown.js +7 -0
- package/dist/components/TDropdown.js.map +1 -0
- package/dist/components/TDropdown.vue.d.ts +3 -0
- package/dist/components/TDropdown.vue.d.ts.map +1 -1
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.js +176 -0
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TEmptyState.cjs +2 -0
- package/dist/components/TEmptyState.cjs.map +1 -0
- package/dist/components/TEmptyState.js +7 -0
- package/dist/components/TEmptyState.js.map +1 -0
- package/dist/components/TEmptyState.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TEmptyState.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TEmptyState.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/TEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TFileUpload.cjs +2 -0
- package/dist/components/TFileUpload.cjs.map +1 -0
- package/dist/components/TFileUpload.js +7 -0
- package/dist/components/TFileUpload.js.map +1 -0
- package/dist/components/TFileUpload.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TFileUpload.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TFileUpload.vue_vue_type_script_setup_true_lang.js +284 -0
- package/dist/components/TFileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TFormField.cjs +2 -0
- package/dist/components/TFormField.cjs.map +1 -0
- package/dist/components/TFormField.js +7 -0
- package/dist/components/TFormField.js.map +1 -0
- package/dist/components/TFormField.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TFormField.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TFormField.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/TFormField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TGrid.cjs +2 -0
- package/dist/components/TGrid.cjs.map +1 -0
- package/dist/components/TGrid.js +7 -0
- package/dist/components/TGrid.js.map +1 -0
- package/dist/components/TGrid.vue.d.ts +1 -1
- package/dist/components/TGrid.vue.d.ts.map +1 -1
- package/dist/components/TGrid.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TGrid.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TGrid.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/TGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TIcon.cjs +2 -0
- package/dist/components/TIcon.cjs.map +1 -0
- package/dist/components/TIcon.js +7 -0
- package/dist/components/TIcon.js.map +1 -0
- package/dist/components/TIcon.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TIcon.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TIcon.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/components/TIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TInput.cjs +2 -0
- package/dist/components/TInput.cjs.map +1 -0
- package/dist/components/TInput.js +7 -0
- package/dist/components/TInput.js.map +1 -0
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TLink.cjs +2 -0
- package/dist/components/TLink.cjs.map +1 -0
- package/dist/components/TLink.js +7 -0
- package/dist/components/TLink.js.map +1 -0
- package/dist/components/TLink.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TLink.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TLink.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/TLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TMarkdownEditor.cjs +2 -0
- package/dist/components/TMarkdownEditor.cjs.map +1 -0
- package/dist/components/TMarkdownEditor.js +7 -0
- package/dist/components/TMarkdownEditor.js.map +1 -0
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.cjs +12 -0
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.js +315 -0
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TModal.cjs +2 -0
- package/dist/components/TModal.cjs.map +1 -0
- package/dist/components/TModal.js +7 -0
- package/dist/components/TModal.js.map +1 -0
- package/dist/components/TModal.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TModal.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TModal.vue_vue_type_script_setup_true_lang.js +163 -0
- package/dist/components/TModal.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TMultiSelect.cjs +2 -0
- package/dist/components/TMultiSelect.cjs.map +1 -0
- package/dist/components/TMultiSelect.js +7 -0
- package/dist/components/TMultiSelect.js.map +1 -0
- package/dist/components/TMultiSelect.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TMultiSelect.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TMultiSelect.vue_vue_type_script_setup_true_lang.js +282 -0
- package/dist/components/TMultiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TNavMenu.cjs +2 -0
- package/dist/components/TNavMenu.cjs.map +1 -0
- package/dist/components/TNavMenu.js +7 -0
- package/dist/components/TNavMenu.js.map +1 -0
- package/dist/components/TNavMenu.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TNavMenu.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TNavMenu.vue_vue_type_script_setup_true_lang.js +151 -0
- package/dist/components/TNavMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TNavbar.cjs +2 -0
- package/dist/components/TNavbar.cjs.map +1 -0
- package/dist/components/TNavbar.js +7 -0
- package/dist/components/TNavbar.js.map +1 -0
- package/dist/components/TNavbar.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TNavbar.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TNavbar.vue_vue_type_script_setup_true_lang.js +61 -0
- package/dist/components/TNavbar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TNumberInput.cjs +2 -0
- package/dist/components/TNumberInput.cjs.map +1 -0
- package/dist/components/TNumberInput.js +7 -0
- package/dist/components/TNumberInput.js.map +1 -0
- package/dist/components/TNumberInput.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TNumberInput.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TNumberInput.vue_vue_type_script_setup_true_lang.js +145 -0
- package/dist/components/TNumberInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TPagination.cjs +2 -0
- package/dist/components/TPagination.cjs.map +1 -0
- package/dist/components/TPagination.js +7 -0
- package/dist/components/TPagination.js.map +1 -0
- package/dist/components/TPagination.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TPagination.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TPagination.vue_vue_type_script_setup_true_lang.js +105 -0
- package/dist/components/TPagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TPopover.cjs +2 -0
- package/dist/components/TPopover.cjs.map +1 -0
- package/dist/components/TPopover.js +7 -0
- package/dist/components/TPopover.js.map +1 -0
- package/dist/components/TPopover.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TPopover.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TPopover.vue_vue_type_script_setup_true_lang.js +106 -0
- package/dist/components/TPopover.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TPricing.cjs +2 -0
- package/dist/components/TPricing.cjs.map +1 -0
- package/dist/components/TPricing.js +7 -0
- package/dist/components/TPricing.js.map +1 -0
- package/dist/components/TPricing.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TPricing.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TPricing.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/TPricing.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TPricingCard.cjs +2 -0
- package/dist/components/TPricingCard.cjs.map +1 -0
- package/dist/components/TPricingCard.js +7 -0
- package/dist/components/TPricingCard.js.map +1 -0
- package/dist/components/TPricingCard.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TPricingCard.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TPricingCard.vue_vue_type_script_setup_true_lang.js +93 -0
- package/dist/components/TPricingCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TProgress.cjs +2 -0
- package/dist/components/TProgress.cjs.map +1 -0
- package/dist/components/TProgress.js +7 -0
- package/dist/components/TProgress.js.map +1 -0
- package/dist/components/TProgress.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TProgress.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TProgress.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/TProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TRadio.cjs +2 -0
- package/dist/components/TRadio.cjs.map +1 -0
- package/dist/components/TRadio.js +7 -0
- package/dist/components/TRadio.js.map +1 -0
- package/dist/components/TRadio.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TRadio.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TRadio.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/components/TRadio.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TRadioGroup.cjs +2 -0
- package/dist/components/TRadioGroup.cjs.map +1 -0
- package/dist/components/TRadioGroup.js +7 -0
- package/dist/components/TRadioGroup.js.map +1 -0
- package/dist/components/TRadioGroup.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TRadioGroup.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TRadioGroup.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/components/TRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSelect.cjs +2 -0
- package/dist/components/TSelect.cjs.map +1 -0
- package/dist/components/TSelect.js +7 -0
- package/dist/components/TSelect.js.map +1 -0
- package/dist/components/TSelect.vue.d.ts +2 -0
- package/dist/components/TSelect.vue.d.ts.map +1 -1
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.js +238 -0
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSelectableList.cjs +2 -0
- package/dist/components/TSelectableList.cjs.map +1 -0
- package/dist/components/TSelectableList.js +7 -0
- package/dist/components/TSelectableList.js.map +1 -0
- package/dist/components/TSelectableList.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSelectableList.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSelectableList.vue_vue_type_script_setup_true_lang.js +133 -0
- package/dist/components/TSelectableList.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSidebar.cjs +2 -0
- package/dist/components/TSidebar.cjs.map +1 -0
- package/dist/components/TSidebar.js +7 -0
- package/dist/components/TSidebar.js.map +1 -0
- package/dist/components/TSidebar.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSidebar.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSidebar.vue_vue_type_script_setup_true_lang.js +98 -0
- package/dist/components/TSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSkeleton.cjs +2 -0
- package/dist/components/TSkeleton.cjs.map +1 -0
- package/dist/components/TSkeleton.js +7 -0
- package/dist/components/TSkeleton.js.map +1 -0
- package/dist/components/TSkeleton.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSkeleton.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSkeleton.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/TSkeleton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSpinner.cjs +2 -0
- package/dist/components/TSpinner.cjs.map +1 -0
- package/dist/components/TSpinner.js +7 -0
- package/dist/components/TSpinner.js.map +1 -0
- package/dist/components/TSpinner.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSpinner.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSpinner.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/TSpinner.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TStack.cjs +2 -0
- package/dist/components/TStack.cjs.map +1 -0
- package/dist/components/TStack.js +7 -0
- package/dist/components/TStack.js.map +1 -0
- package/dist/components/TStack.vue.d.ts +1 -1
- package/dist/components/TStack.vue.d.ts.map +1 -1
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TStat.cjs +2 -0
- package/dist/components/TStat.cjs.map +1 -0
- package/dist/components/TStat.js +7 -0
- package/dist/components/TStat.js.map +1 -0
- package/dist/components/TStat.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TStat.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TStat.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/TStat.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSteps.cjs +2 -0
- package/dist/components/TSteps.cjs.map +1 -0
- package/dist/components/TSteps.js +7 -0
- package/dist/components/TSteps.js.map +1 -0
- package/dist/components/TSteps.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSteps.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSteps.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/TSteps.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSwitch.cjs +2 -0
- package/dist/components/TSwitch.cjs.map +1 -0
- package/dist/components/TSwitch.js +7 -0
- package/dist/components/TSwitch.js.map +1 -0
- package/dist/components/TSwitch.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSwitch.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSwitch.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/components/TSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTab.cjs +2 -0
- package/dist/components/TTab.cjs.map +1 -0
- package/dist/components/TTab.js +7 -0
- package/dist/components/TTab.js.map +1 -0
- package/dist/components/TTab.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTab.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTab.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/TTab.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTabList.cjs +2 -0
- package/dist/components/TTabList.cjs.map +1 -0
- package/dist/components/TTabList.js +7 -0
- package/dist/components/TTabList.js.map +1 -0
- package/dist/components/TTabList.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTabList.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTabList.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/components/TTabList.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTabPanel.cjs +2 -0
- package/dist/components/TTabPanel.cjs.map +1 -0
- package/dist/components/TTabPanel.js +7 -0
- package/dist/components/TTabPanel.js.map +1 -0
- package/dist/components/TTabPanel.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTabPanel.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTabPanel.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/TTabPanel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTable.cjs +2 -0
- package/dist/components/TTable.cjs.map +1 -0
- package/dist/components/TTable.js +7 -0
- package/dist/components/TTable.js.map +1 -0
- package/dist/components/TTable.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTable.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTable.vue_vue_type_script_setup_true_lang.js +118 -0
- package/dist/components/TTable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTabs.cjs +2 -0
- package/dist/components/TTabs.cjs.map +1 -0
- package/dist/components/TTabs.js +7 -0
- package/dist/components/TTabs.js.map +1 -0
- package/dist/components/TTabs.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTabs.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTabs.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/TTabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTag.cjs +2 -0
- package/dist/components/TTag.cjs.map +1 -0
- package/dist/components/TTag.js +7 -0
- package/dist/components/TTag.js.map +1 -0
- package/dist/components/TTag.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTag.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTag.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/TTag.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTextarea.cjs +2 -0
- package/dist/components/TTextarea.cjs.map +1 -0
- package/dist/components/TTextarea.js +7 -0
- package/dist/components/TTextarea.js.map +1 -0
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTimeline.cjs +2 -0
- package/dist/components/TTimeline.cjs.map +1 -0
- package/dist/components/TTimeline.js +7 -0
- package/dist/components/TTimeline.js.map +1 -0
- package/dist/components/TTimeline.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTimeline.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTimeline.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/TTimeline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TToast.cjs +2 -0
- package/dist/components/TToast.cjs.map +1 -0
- package/dist/components/TToast.js +7 -0
- package/dist/components/TToast.js.map +1 -0
- package/dist/components/TToast.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TToast.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TToast.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/components/TToast.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TToastProvider.cjs +2 -0
- package/dist/components/TToastProvider.cjs.map +1 -0
- package/dist/components/TToastProvider.js +7 -0
- package/dist/components/TToastProvider.js.map +1 -0
- package/dist/components/TToastProvider.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TToastProvider.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TToastProvider.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/TToastProvider.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TToggleGroup.cjs +2 -0
- package/dist/components/TToggleGroup.cjs.map +1 -0
- package/dist/components/TToggleGroup.js +7 -0
- package/dist/components/TToggleGroup.js.map +1 -0
- package/dist/components/TToggleGroup.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TToggleGroup.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TToggleGroup.vue_vue_type_script_setup_true_lang.js +119 -0
- package/dist/components/TToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTooltip.cjs +2 -0
- package/dist/components/TTooltip.cjs.map +1 -0
- package/dist/components/TTooltip.js +7 -0
- package/dist/components/TTooltip.js.map +1 -0
- package/dist/components/TTooltip.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTooltip.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTooltip.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/components/TTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTreeView.cjs +2 -0
- package/dist/components/TTreeView.cjs.map +1 -0
- package/dist/components/TTreeView.js +7 -0
- package/dist/components/TTreeView.js.map +1 -0
- package/dist/components/TTreeView.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTreeView.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTreeView.vue_vue_type_script_setup_true_lang.js +161 -0
- package/dist/components/TTreeView.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTreeViewItem.cjs +2 -0
- package/dist/components/TTreeViewItem.cjs.map +1 -0
- package/dist/components/TTreeViewItem.js +7 -0
- package/dist/components/TTreeViewItem.js.map +1 -0
- package/dist/components/TTreeViewItem.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TTreeViewItem.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TTreeViewItem.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/components/TTreeViewItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/accordion.cjs +2 -0
- package/dist/components/accordion.cjs.map +1 -0
- package/dist/components/accordion.js +6 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/sidebar.cjs +2 -0
- package/dist/components/sidebar.cjs.map +1 -0
- package/dist/components/sidebar.js +6 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/tabs-context.cjs +2 -0
- package/dist/components/tabs-context.cjs.map +1 -0
- package/dist/components/tabs-context.js +6 -0
- package/dist/components/tabs-context.js.map +1 -0
- package/dist/components/tree-view.cjs +2 -0
- package/dist/components/tree-view.cjs.map +1 -0
- package/dist/components/tree-view.js +6 -0
- package/dist/components/tree-view.js.map +1 -0
- package/dist/composables/useControllableOpen.cjs +2 -0
- package/dist/composables/useControllableOpen.cjs.map +1 -0
- package/dist/composables/useControllableOpen.js +15 -0
- package/dist/composables/useControllableOpen.js.map +1 -0
- package/dist/composables/useToast.cjs +2 -0
- package/dist/composables/useToast.cjs.map +1 -0
- package/dist/composables/useToast.js +41 -0
- package/dist/composables/useToast.js.map +1 -0
- package/dist/index.cjs +1 -12
- package/dist/index.js +66 -5992
- package/dist/plugin.cjs +2 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.js +135 -0
- package/dist/plugin.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/types/contracts.cjs +2 -0
- package/dist/types/contracts.cjs.map +1 -0
- package/dist/types/contracts.js +31 -0
- package/dist/types/contracts.js.map +1 -0
- package/package.json +2 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPopover.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../src/components/TPopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, ref, toRef, useAttrs, watch } from 'vue';\nimport { createId, focusFirst, isEscapeKey } from '@treeui/utils';\nimport { useControllableOpen } from '../composables/useControllableOpen';\nimport type { TTooltipSide } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n open?: boolean;\n defaultOpen?: boolean;\n disabled?: boolean;\n side?: TTooltipSide;\n align?: 'start' | 'center' | 'end';\n id?: string;\n }>(),\n {\n open: undefined,\n defaultOpen: false,\n disabled: false,\n side: 'bottom',\n align: 'center',\n id: undefined,\n },\n);\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean];\n 'open-change': [value: boolean];\n}>();\n\ndefineSlots<{\n trigger(props: { isOpen: boolean }): unknown;\n default(): unknown;\n}>();\n\nconst attrs = useAttrs();\nconst contentId = props.id ?? createId('t-popover');\nconst rootRef = ref<HTMLElement | null>(null);\nconst triggerRef = ref<HTMLButtonElement | null>(null);\nconst contentRef = ref<HTMLElement | null>(null);\n\nconst triggerAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n\nconst { value: isOpen, setValue } = useControllableOpen(\n toRef(props, 'open'),\n props.defaultOpen,\n (value) => {\n emit('update:open', value);\n emit('open-change', value);\n },\n);\n\nconst rootClasses = computed(() => [\n 't-popover',\n {\n 'is-open': isOpen.value,\n 'is-disabled': props.disabled,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst contentClasses = computed(() => [\n 't-popover__content',\n `t-popover__content--${props.side}`,\n `t-popover__content--align-${props.align}`,\n]);\n\nconst openPopover = () => {\n if (props.disabled) return;\n setValue(true);\n nextTick(() => {\n if (contentRef.value) {\n if (!focusFirst(contentRef.value)) {\n contentRef.value.focus();\n }\n }\n });\n};\n\nconst closePopover = (restoreFocus = false) => {\n setValue(false);\n if (restoreFocus) {\n nextTick(() => triggerRef.value?.focus());\n }\n};\n\nconst togglePopover = () => {\n if (isOpen.value) {\n closePopover();\n } else {\n openPopover();\n }\n};\n\nconst onTriggerKeydown = (event: KeyboardEvent) => {\n if (props.disabled) return;\n\n if (isEscapeKey(event) && isOpen.value) {\n event.preventDefault();\n closePopover();\n }\n};\n\nconst onContentKeydown = (event: KeyboardEvent) => {\n if (isEscapeKey(event)) {\n event.preventDefault();\n closePopover(true);\n }\n};\n\nconst onDocumentPointerDown = (event: PointerEvent) => {\n if (!isOpen.value) return;\n const target = event.target;\n if (!(target instanceof Node)) return;\n if (rootRef.value?.contains(target)) return;\n closePopover();\n};\n\nwatch(isOpen, (value) => {\n if (value) {\n document.addEventListener('pointerdown', onDocumentPointerDown);\n } else {\n document.removeEventListener('pointerdown', onDocumentPointerDown);\n }\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener('pointerdown', onDocumentPointerDown);\n});\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n :data-state=\"isOpen ? 'open' : 'closed'\"\n >\n <div\n class=\"t-popover__anchor\"\n @click=\"togglePopover\"\n @keydown=\"onTriggerKeydown\"\n >\n <slot\n name=\"trigger\"\n :is-open=\"isOpen\"\n >\n <button\n ref=\"triggerRef\"\n type=\"button\"\n class=\"t-popover__trigger\"\n :disabled=\"disabled\"\n :aria-expanded=\"isOpen\"\n :aria-controls=\"isOpen ? contentId : undefined\"\n aria-haspopup=\"dialog\"\n v-bind=\"triggerAttrs\"\n />\n </slot>\n </div>\n <transition name=\"t-popover-fade\">\n <div\n v-if=\"isOpen && !disabled\"\n :id=\"contentId\"\n ref=\"contentRef\"\n role=\"dialog\"\n :class=\"contentClasses\"\n :data-state=\"isOpen ? 'open' : 'closed'\"\n tabindex=\"-1\"\n @keydown=\"onContentKeydown\"\n >\n <slot />\n </div>\n </transition>\n </div>\n</template>\n"],"mappings":"8eAUA,IAAM,EAAQ,EAmBR,EAAO,EAUP,GAAA,EAAA,EAAA,SAAA,CAAiB,EACjB,EAAY,EAAM,KAAA,EAAA,EAAA,SAAA,CAAe,WAAW,EAC5C,GAAA,EAAA,EAAA,IAAA,CAAkC,IAAI,EACtC,GAAA,EAAA,EAAA,IAAA,CAA2C,IAAI,EAC/C,GAAA,EAAA,EAAA,IAAA,CAAqC,IAAI,EAEzC,GAAA,EAAA,EAAA,SAAA,KAA8B,CAClC,GAAM,CAAE,MAAO,EAAQ,MAAO,EAAQ,GAAG,GAAS,EAClD,OAAO,CACT,CAAC,EAEK,CAAE,MAAO,EAAQ,YAAa,EAAA,qBAAA,EAAA,EAAA,MAAA,CAC5B,EAAO,MAAM,EACnB,EAAM,YACL,GAAU,CACT,EAAK,cAAe,CAAK,EACzB,EAAK,cAAe,CAAK,CAC3B,CACF,EAEM,GAAA,EAAA,EAAA,SAAA,KAA6B,CACjC,YACA,CACE,UAAW,EAAO,MAClB,cAAe,EAAM,QACvB,EACA,EAAM,KACR,CAAC,EAEK,GAAA,EAAA,EAAA,SAAA,KAA2B,EAAM,KAAK,EAEtC,GAAA,EAAA,EAAA,SAAA,KAAgC,CACpC,qBACA,uBAAuB,EAAM,OAC7B,6BAA6B,EAAM,OACrC,CAAC,EAEK,MAAoB,CACpB,EAAM,WACV,EAAS,EAAI,GACb,EAAA,EAAA,SAAA,KAAe,CACT,EAAW,SACT,EAAA,EAAA,WAAA,CAAY,EAAW,KAAK,GAC9B,EAAW,MAAM,MAAM,EAG7B,CAAC,EACH,EAEM,GAAgB,EAAe,KAAU,CAC7C,EAAS,EAAK,EACV,IACF,EAAA,EAAA,SAAA,KAAe,EAAW,OAAO,MAAM,CAAC,CAE5C,EAEM,MAAsB,CACtB,EAAO,MACT,EAAa,EAEb,EAAY,CAEhB,EAEM,EAAoB,GAAyB,CAC7C,EAAM,WAEV,EAAA,EAAA,YAAA,CAAgB,CAAK,GAAK,EAAO,QAC/B,EAAM,eAAe,EACrB,EAAa,EAEjB,EAEM,EAAoB,GAAyB,EACjD,EAAA,EAAA,YAAA,CAAgB,CAAK,IACnB,EAAM,eAAe,EACrB,EAAa,EAAI,EAErB,EAEM,EAAyB,GAAwB,CACrD,GAAI,CAAC,EAAO,MAAO,OACnB,IAAM,EAAS,EAAM,OACf,aAAkB,OACpB,EAAQ,OAAO,SAAS,CAAM,GAClC,EAAa,EACf,SAEA,EAAA,EAAA,MAAA,CAAM,EAAS,GAAU,CACnB,EACF,SAAS,iBAAiB,cAAe,CAAqB,EAE9D,SAAS,oBAAoB,cAAe,CAAqB,CAErE,CAAC,GAED,EAAA,EAAA,gBAAA,KAAsB,CACpB,SAAS,oBAAoB,cAAe,CAAqB,CACnE,CAAC,qDA6CO,MAAA,SAxCA,UAAJ,IAAI,EACH,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAW,EAClB,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAS,EAChB,cAAA,EAAA,EAAA,MAAA,CAAY,CAAA,EAAM,OAAA,oCAsBb,MAAA,CAnBJ,MAAM,oBACL,QAAO,EACP,UAAS,qBAgBH,EAAA,OAAA,UAAA,CAZJ,QAAA,EAAA,EAAA,MAAA,CAAS,CAAA,CAAM,MAYX,EAAA,EAAA,EAAA,mBAAA,CADH,UAAA,EAAA,EAAA,WAAA,CAAA,SARI,aAAJ,IAAI,EACJ,KAAK,SACL,MAAM,qBACL,SAAU,EAAA,SACV,iBAAA,EAAA,EAAA,MAAA,CAAe,CAAA,EACf,iBAAA,EAAA,EAAA,MAAA,CAAe,CAAA,GAAA,EAAA,EAAA,MAAA,CAAS,CAAA,EAAY,IAAA,GACrC,gBAAc,UACN,EAAA,KAAY,EAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,YAAA,CAiBb,EAAA,WAAA,CAbD,KAAK,gBAAgB,EAAA,2BAYzB,EAAA,EAAA,EAAA,MAAA,CAVE,CAAA,GAAM,CAAK,EAAA,WAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAUb,MAAA,OATH,IAAA,EAAA,EAAA,MAAA,CAAI,CAAA,UACD,aAAJ,IAAI,EACJ,KAAK,SACJ,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAc,EACrB,cAAA,EAAA,EAAA,MAAA,CAAY,CAAA,EAAM,OAAA,SACnB,SAAS,KACR,UAAS,qBAEF,EAAA,OAAA,SAAA,CAAA,EAAA,GAAA,CAAA,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { useControllableOpen as e } from "../composables/useControllableOpen.js";
|
|
2
|
+
import { Transition as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, mergeProps as c, nextTick as l, normalizeClass as u, normalizeStyle as d, onBeforeUnmount as f, openBlock as p, ref as m, renderSlot as h, toRef as g, unref as _, useAttrs as v, watch as y, withCtx as b } from "vue";
|
|
3
|
+
import { createId as x, focusFirst as S, isEscapeKey as C } from "@treeui/utils";
|
|
4
|
+
//#region src/components/TPopover.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var w = ["data-state"], T = [
|
|
6
|
+
"disabled",
|
|
7
|
+
"aria-expanded",
|
|
8
|
+
"aria-controls"
|
|
9
|
+
], E = ["id", "data-state"], D = /*@__PURE__*/ s({
|
|
10
|
+
inheritAttrs: !1,
|
|
11
|
+
__name: "TPopover",
|
|
12
|
+
props: {
|
|
13
|
+
open: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: void 0
|
|
16
|
+
},
|
|
17
|
+
defaultOpen: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: !1
|
|
20
|
+
},
|
|
21
|
+
disabled: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: !1
|
|
24
|
+
},
|
|
25
|
+
side: { default: "bottom" },
|
|
26
|
+
align: { default: "center" },
|
|
27
|
+
id: { default: void 0 }
|
|
28
|
+
},
|
|
29
|
+
emits: ["update:open", "open-change"],
|
|
30
|
+
setup(s, { emit: D }) {
|
|
31
|
+
let O = s, k = D, A = v(), j = O.id ?? x("t-popover"), M = m(null), N = m(null), P = m(null), F = n(() => {
|
|
32
|
+
let { class: e, style: t, ...n } = A;
|
|
33
|
+
return n;
|
|
34
|
+
}), { value: I, setValue: L } = e(g(O, "open"), O.defaultOpen, (e) => {
|
|
35
|
+
k("update:open", e), k("open-change", e);
|
|
36
|
+
}), R = n(() => [
|
|
37
|
+
"t-popover",
|
|
38
|
+
{
|
|
39
|
+
"is-open": I.value,
|
|
40
|
+
"is-disabled": O.disabled
|
|
41
|
+
},
|
|
42
|
+
A.class
|
|
43
|
+
]), z = n(() => A.style), B = n(() => [
|
|
44
|
+
"t-popover__content",
|
|
45
|
+
`t-popover__content--${O.side}`,
|
|
46
|
+
`t-popover__content--align-${O.align}`
|
|
47
|
+
]), V = () => {
|
|
48
|
+
O.disabled || (L(!0), l(() => {
|
|
49
|
+
P.value && (S(P.value) || P.value.focus());
|
|
50
|
+
}));
|
|
51
|
+
}, H = (e = !1) => {
|
|
52
|
+
L(!1), e && l(() => N.value?.focus());
|
|
53
|
+
}, U = () => {
|
|
54
|
+
I.value ? H() : V();
|
|
55
|
+
}, W = (e) => {
|
|
56
|
+
O.disabled || C(e) && I.value && (e.preventDefault(), H());
|
|
57
|
+
}, G = (e) => {
|
|
58
|
+
C(e) && (e.preventDefault(), H(!0));
|
|
59
|
+
}, K = (e) => {
|
|
60
|
+
if (!I.value) return;
|
|
61
|
+
let t = e.target;
|
|
62
|
+
t instanceof Node && (M.value?.contains(t) || H());
|
|
63
|
+
};
|
|
64
|
+
return y(I, (e) => {
|
|
65
|
+
e ? document.addEventListener("pointerdown", K) : document.removeEventListener("pointerdown", K);
|
|
66
|
+
}), f(() => {
|
|
67
|
+
document.removeEventListener("pointerdown", K);
|
|
68
|
+
}), (e, n) => (p(), i("div", {
|
|
69
|
+
ref_key: "rootRef",
|
|
70
|
+
ref: M,
|
|
71
|
+
class: u(R.value),
|
|
72
|
+
style: d(z.value),
|
|
73
|
+
"data-state": _(I) ? "open" : "closed"
|
|
74
|
+
}, [a("div", {
|
|
75
|
+
class: "t-popover__anchor",
|
|
76
|
+
onClick: U,
|
|
77
|
+
onKeydown: W
|
|
78
|
+
}, [h(e.$slots, "trigger", { isOpen: _(I) }, () => [a("button", c({
|
|
79
|
+
ref_key: "triggerRef",
|
|
80
|
+
ref: N,
|
|
81
|
+
type: "button",
|
|
82
|
+
class: "t-popover__trigger",
|
|
83
|
+
disabled: s.disabled,
|
|
84
|
+
"aria-expanded": _(I),
|
|
85
|
+
"aria-controls": _(I) ? _(j) : void 0,
|
|
86
|
+
"aria-haspopup": "dialog"
|
|
87
|
+
}, F.value), null, 16, T)])], 32), o(t, { name: "t-popover-fade" }, {
|
|
88
|
+
default: b(() => [_(I) && !s.disabled ? (p(), i("div", {
|
|
89
|
+
key: 0,
|
|
90
|
+
id: _(j),
|
|
91
|
+
ref_key: "contentRef",
|
|
92
|
+
ref: P,
|
|
93
|
+
role: "dialog",
|
|
94
|
+
class: u(B.value),
|
|
95
|
+
"data-state": _(I) ? "open" : "closed",
|
|
96
|
+
tabindex: "-1",
|
|
97
|
+
onKeydown: G
|
|
98
|
+
}, [h(e.$slots, "default")], 42, E)) : r("", !0)]),
|
|
99
|
+
_: 3
|
|
100
|
+
})], 14, w));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
//#endregion
|
|
104
|
+
export { D as default };
|
|
105
|
+
|
|
106
|
+
//# sourceMappingURL=TPopover.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPopover.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../src/components/TPopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, ref, toRef, useAttrs, watch } from 'vue';\nimport { createId, focusFirst, isEscapeKey } from '@treeui/utils';\nimport { useControllableOpen } from '../composables/useControllableOpen';\nimport type { TTooltipSide } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n open?: boolean;\n defaultOpen?: boolean;\n disabled?: boolean;\n side?: TTooltipSide;\n align?: 'start' | 'center' | 'end';\n id?: string;\n }>(),\n {\n open: undefined,\n defaultOpen: false,\n disabled: false,\n side: 'bottom',\n align: 'center',\n id: undefined,\n },\n);\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean];\n 'open-change': [value: boolean];\n}>();\n\ndefineSlots<{\n trigger(props: { isOpen: boolean }): unknown;\n default(): unknown;\n}>();\n\nconst attrs = useAttrs();\nconst contentId = props.id ?? createId('t-popover');\nconst rootRef = ref<HTMLElement | null>(null);\nconst triggerRef = ref<HTMLButtonElement | null>(null);\nconst contentRef = ref<HTMLElement | null>(null);\n\nconst triggerAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n\nconst { value: isOpen, setValue } = useControllableOpen(\n toRef(props, 'open'),\n props.defaultOpen,\n (value) => {\n emit('update:open', value);\n emit('open-change', value);\n },\n);\n\nconst rootClasses = computed(() => [\n 't-popover',\n {\n 'is-open': isOpen.value,\n 'is-disabled': props.disabled,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst contentClasses = computed(() => [\n 't-popover__content',\n `t-popover__content--${props.side}`,\n `t-popover__content--align-${props.align}`,\n]);\n\nconst openPopover = () => {\n if (props.disabled) return;\n setValue(true);\n nextTick(() => {\n if (contentRef.value) {\n if (!focusFirst(contentRef.value)) {\n contentRef.value.focus();\n }\n }\n });\n};\n\nconst closePopover = (restoreFocus = false) => {\n setValue(false);\n if (restoreFocus) {\n nextTick(() => triggerRef.value?.focus());\n }\n};\n\nconst togglePopover = () => {\n if (isOpen.value) {\n closePopover();\n } else {\n openPopover();\n }\n};\n\nconst onTriggerKeydown = (event: KeyboardEvent) => {\n if (props.disabled) return;\n\n if (isEscapeKey(event) && isOpen.value) {\n event.preventDefault();\n closePopover();\n }\n};\n\nconst onContentKeydown = (event: KeyboardEvent) => {\n if (isEscapeKey(event)) {\n event.preventDefault();\n closePopover(true);\n }\n};\n\nconst onDocumentPointerDown = (event: PointerEvent) => {\n if (!isOpen.value) return;\n const target = event.target;\n if (!(target instanceof Node)) return;\n if (rootRef.value?.contains(target)) return;\n closePopover();\n};\n\nwatch(isOpen, (value) => {\n if (value) {\n document.addEventListener('pointerdown', onDocumentPointerDown);\n } else {\n document.removeEventListener('pointerdown', onDocumentPointerDown);\n }\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener('pointerdown', onDocumentPointerDown);\n});\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n :data-state=\"isOpen ? 'open' : 'closed'\"\n >\n <div\n class=\"t-popover__anchor\"\n @click=\"togglePopover\"\n @keydown=\"onTriggerKeydown\"\n >\n <slot\n name=\"trigger\"\n :is-open=\"isOpen\"\n >\n <button\n ref=\"triggerRef\"\n type=\"button\"\n class=\"t-popover__trigger\"\n :disabled=\"disabled\"\n :aria-expanded=\"isOpen\"\n :aria-controls=\"isOpen ? contentId : undefined\"\n aria-haspopup=\"dialog\"\n v-bind=\"triggerAttrs\"\n />\n </slot>\n </div>\n <transition name=\"t-popover-fade\">\n <div\n v-if=\"isOpen && !disabled\"\n :id=\"contentId\"\n ref=\"contentRef\"\n role=\"dialog\"\n :class=\"contentClasses\"\n :data-state=\"isOpen ? 'open' : 'closed'\"\n tabindex=\"-1\"\n @keydown=\"onContentKeydown\"\n >\n <slot />\n </div>\n </transition>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,IAAM,IAAQ,GAmBR,IAAO,GAUP,IAAQ,EAAS,GACjB,IAAY,EAAM,MAAM,EAAS,WAAW,GAC5C,IAAU,EAAwB,IAAI,GACtC,IAAa,EAA8B,IAAI,GAC/C,IAAa,EAAwB,IAAI,GAEzC,IAAe,QAAe;GAClC,IAAM,EAAE,OAAO,GAAQ,OAAO,GAAQ,GAAG,MAAS;GAClD,OAAO;EACT,CAAC,GAEK,EAAE,OAAO,GAAQ,gBAAa,EAClC,EAAM,GAAO,MAAM,GACnB,EAAM,cACL,MAAU;GAET,AADA,EAAK,eAAe,CAAK,GACzB,EAAK,eAAe,CAAK;EAC3B,CACF,GAEM,IAAc,QAAe;GACjC;GACA;IACE,WAAW,EAAO;IAClB,eAAe,EAAM;GACvB;GACA,EAAM;EACR,CAAC,GAEK,IAAY,QAAe,EAAM,KAAK,GAEtC,IAAiB,QAAe;GACpC;GACA,uBAAuB,EAAM;GAC7B,6BAA6B,EAAM;EACrC,CAAC,GAEK,UAAoB;GACpB,EAAM,aACV,EAAS,EAAI,GACb,QAAe;IACb,AAAI,EAAW,UACR,EAAW,EAAW,KAAK,KAC9B,EAAW,MAAM,MAAM;GAG7B,CAAC;EACH,GAEM,KAAgB,IAAe,OAAU;GAE7C,AADA,EAAS,EAAK,GACV,KACF,QAAe,EAAW,OAAO,MAAM,CAAC;EAE5C,GAEM,UAAsB;GAC1B,AAAI,EAAO,QACT,EAAa,IAEb,EAAY;EAEhB,GAEM,KAAoB,MAAyB;GAC7C,EAAM,YAEN,EAAY,CAAK,KAAK,EAAO,UAC/B,EAAM,eAAe,GACrB,EAAa;EAEjB,GAEM,KAAoB,MAAyB;GACjD,AAAI,EAAY,CAAK,MACnB,EAAM,eAAe,GACrB,EAAa,EAAI;EAErB,GAEM,KAAyB,MAAwB;GACrD,IAAI,CAAC,EAAO,OAAO;GACnB,IAAM,IAAS,EAAM;GACf,aAAkB,SACpB,EAAQ,OAAO,SAAS,CAAM,KAClC,EAAa;EACf;SAEA,EAAM,IAAS,MAAU;GACvB,AAAI,IACF,SAAS,iBAAiB,eAAe,CAAqB,IAE9D,SAAS,oBAAoB,eAAe,CAAqB;EAErE,CAAC,GAED,QAAsB;GACpB,SAAS,oBAAoB,eAAe,CAAqB;EACnE,CAAC,mBAIC,EAyCM,OAAA;YAxCA;GAAJ,KAAI;GACH,OAAK,EAAE,EAAA,KAAW;GAClB,OAAK,EAAE,EAAA,KAAS;GAChB,cAAY,EAAA,CAAA,IAAM,SAAA;MAEnB,EAoBM,OAAA;GAnBJ,OAAM;GACL,SAAO;GACP,WAAS;MAEV,EAcO,EAAA,QAAA,WAAA,EAZJ,QAAS,EAAA,CAAA,EAAM,SAYX,CAVL,EASE,UATF,EASE;YARI;GAAJ,KAAI;GACJ,MAAK;GACL,OAAM;GACL,UAAU,EAAA;GACV,iBAAe,EAAA,CAAA;GACf,iBAAe,EAAA,CAAA,IAAS,EAAA,CAAA,IAAY,KAAA;GACrC,iBAAc;KACN,EAAA,KAAY,GAAA,MAAA,IAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,GAI1B,EAaa,GAAA,EAbD,MAAK,iBAAgB,GAAA;oBAYzB,CAVE,EAAA,CAAA,KAAM,CAAK,EAAA,YAAA,EAAA,GADnB,EAWM,OAAA;;IATH,IAAI,EAAA,CAAA;aACD;IAAJ,KAAI;IACJ,MAAK;IACJ,OAAK,EAAE,EAAA,KAAc;IACrB,cAAY,EAAA,CAAA,IAAM,SAAA;IACnB,UAAS;IACR,WAAS;OAEV,EAAQ,EAAA,QAAA,SAAA,CAAA,GAAA,IAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricing.cjs","names":[],"sources":["../../src/components/TPricing.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TPricingCard from './TPricingCard.vue';\nimport type { PricingFeature } from './TPricingCard.vue';\n\nexport interface PricingPlan {\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n disabled?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n plans: PricingPlan[];\n size?: TSize;\n columns?: number;\n }>(),\n {\n size: 'md',\n columns: undefined,\n },\n);\n\nconst emit = defineEmits<{\n select: [plan: PricingPlan, index: number];\n}>();\n\nconst gridStyle = computed(() => {\n if (props.columns) {\n return { gridTemplateColumns: `repeat(${props.columns}, 1fr)` };\n }\n return { gridTemplateColumns: `repeat(${props.plans.length}, 1fr)` };\n});\n</script>\n\n<template>\n <div\n class=\"t-pricing\"\n :style=\"gridStyle\"\n role=\"list\"\n >\n <div\n v-for=\"(plan, index) in plans\"\n :key=\"index\"\n role=\"listitem\"\n >\n <slot\n name=\"plan\"\n :plan=\"plan\"\n :index=\"index\"\n >\n <TPricingCard\n v-bind=\"plan\"\n :size=\"size\"\n @select=\"emit('select', plan, index)\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricing.js","names":[],"sources":["../../src/components/TPricing.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TPricingCard from './TPricingCard.vue';\nimport type { PricingFeature } from './TPricingCard.vue';\n\nexport interface PricingPlan {\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n disabled?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n plans: PricingPlan[];\n size?: TSize;\n columns?: number;\n }>(),\n {\n size: 'md',\n columns: undefined,\n },\n);\n\nconst emit = defineEmits<{\n select: [plan: PricingPlan, index: number];\n}>();\n\nconst gridStyle = computed(() => {\n if (props.columns) {\n return { gridTemplateColumns: `repeat(${props.columns}, 1fr)` };\n }\n return { gridTemplateColumns: `repeat(${props.plans.length}, 1fr)` };\n});\n</script>\n\n<template>\n <div\n class=\"t-pricing\"\n :style=\"gridStyle\"\n role=\"list\"\n >\n <div\n v-for=\"(plan, index) in plans\"\n :key=\"index\"\n role=\"listitem\"\n >\n <slot\n name=\"plan\"\n :plan=\"plan\"\n :index=\"index\"\n >\n <TPricingCard\n v-bind=\"plan\"\n :size=\"size\"\n @select=\"emit('select', plan, index)\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./TPricingCard.cjs");let t=require("vue");var n=(0,t.defineComponent)({__name:`TPricing`,props:{plans:{},size:{default:`md`},columns:{default:void 0}},emits:[`select`],setup(n,{emit:r}){let i=n,a=r,o=(0,t.computed)(()=>i.columns?{gridTemplateColumns:`repeat(${i.columns}, 1fr)`}:{gridTemplateColumns:`repeat(${i.plans.length}, 1fr)`});return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`t-pricing`,style:(0,t.normalizeStyle)(o.value),role:`list`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.plans,(i,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:o,role:`listitem`},[(0,t.renderSlot)(r.$slots,`plan`,{plan:i,index:o},()=>[(0,t.createVNode)(e.default,(0,t.mergeProps)({ref_for:!0},i,{size:n.size,onSelect:e=>a(`select`,i,o)}),null,16,[`size`,`onSelect`])])]))),128))],4))}});exports.default=n;
|
|
2
|
+
//# sourceMappingURL=TPricing.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricing.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../src/components/TPricing.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TPricingCard from './TPricingCard.vue';\nimport type { PricingFeature } from './TPricingCard.vue';\n\nexport interface PricingPlan {\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n disabled?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n plans: PricingPlan[];\n size?: TSize;\n columns?: number;\n }>(),\n {\n size: 'md',\n columns: undefined,\n },\n);\n\nconst emit = defineEmits<{\n select: [plan: PricingPlan, index: number];\n}>();\n\nconst gridStyle = computed(() => {\n if (props.columns) {\n return { gridTemplateColumns: `repeat(${props.columns}, 1fr)` };\n }\n return { gridTemplateColumns: `repeat(${props.plans.length}, 1fr)` };\n});\n</script>\n\n<template>\n <div\n class=\"t-pricing\"\n :style=\"gridStyle\"\n role=\"list\"\n >\n <div\n v-for=\"(plan, index) in plans\"\n :key=\"index\"\n role=\"listitem\"\n >\n <slot\n name=\"plan\"\n :plan=\"plan\"\n :index=\"index\"\n >\n <TPricingCard\n v-bind=\"plan\"\n :size=\"size\"\n @select=\"emit('select', plan, index)\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":"2MAmBA,IAAM,EAAQ,EAYR,EAAO,EAIP,GAAA,EAAA,EAAA,SAAA,KACA,EAAM,QACD,CAAE,oBAAqB,UAAU,EAAM,QAAQ,OAAQ,EAEzD,CAAE,oBAAqB,UAAU,EAAM,MAAM,OAAO,OAAQ,CACpE,2DA0BO,MAAA,CArBJ,MAAM,YACL,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAS,EACjB,KAAK,uDAkBC,EAAA,SAAA,MAAA,EAAA,EAAA,WAAA,CAfoB,EAAA,OAAhB,EAAM,gDAeV,MAAA,CAdH,IAAK,EACN,KAAK,8BAYE,EAAA,OAAA,OAAA,CARE,OACC,aAOH,EAAA,EAAA,EAAA,YAAA,CADH,EAAA,SAAA,EAAA,EAAA,WAAA,CAAA,CAAA,QAAA,EAAA,EAHQ,EAAI,CACX,KAAM,EAAA,KACN,SAAM,GAAE,EAAI,SAAW,EAAM,CAAK"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import e from "./TPricingCard.js";
|
|
2
|
+
import { Fragment as t, computed as n, createElementBlock as r, createVNode as i, defineComponent as a, mergeProps as o, normalizeStyle as s, openBlock as c, renderList as l, renderSlot as u } from "vue";
|
|
3
|
+
//#region src/components/TPricing.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var d = /*@__PURE__*/ a({
|
|
5
|
+
__name: "TPricing",
|
|
6
|
+
props: {
|
|
7
|
+
plans: {},
|
|
8
|
+
size: { default: "md" },
|
|
9
|
+
columns: { default: void 0 }
|
|
10
|
+
},
|
|
11
|
+
emits: ["select"],
|
|
12
|
+
setup(a, { emit: d }) {
|
|
13
|
+
let f = a, p = d, m = n(() => f.columns ? { gridTemplateColumns: `repeat(${f.columns}, 1fr)` } : { gridTemplateColumns: `repeat(${f.plans.length}, 1fr)` });
|
|
14
|
+
return (n, d) => (c(), r("div", {
|
|
15
|
+
class: "t-pricing",
|
|
16
|
+
style: s(m.value),
|
|
17
|
+
role: "list"
|
|
18
|
+
}, [(c(!0), r(t, null, l(a.plans, (t, s) => (c(), r("div", {
|
|
19
|
+
key: s,
|
|
20
|
+
role: "listitem"
|
|
21
|
+
}, [u(n.$slots, "plan", {
|
|
22
|
+
plan: t,
|
|
23
|
+
index: s
|
|
24
|
+
}, () => [i(e, o({ ref_for: !0 }, t, {
|
|
25
|
+
size: a.size,
|
|
26
|
+
onSelect: (e) => p("select", t, s)
|
|
27
|
+
}), null, 16, ["size", "onSelect"])])]))), 128))], 4));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
export { d as default };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=TPricing.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricing.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../src/components/TPricing.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TPricingCard from './TPricingCard.vue';\nimport type { PricingFeature } from './TPricingCard.vue';\n\nexport interface PricingPlan {\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n disabled?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n plans: PricingPlan[];\n size?: TSize;\n columns?: number;\n }>(),\n {\n size: 'md',\n columns: undefined,\n },\n);\n\nconst emit = defineEmits<{\n select: [plan: PricingPlan, index: number];\n}>();\n\nconst gridStyle = computed(() => {\n if (props.columns) {\n return { gridTemplateColumns: `repeat(${props.columns}, 1fr)` };\n }\n return { gridTemplateColumns: `repeat(${props.plans.length}, 1fr)` };\n});\n</script>\n\n<template>\n <div\n class=\"t-pricing\"\n :style=\"gridStyle\"\n role=\"list\"\n >\n <div\n v-for=\"(plan, index) in plans\"\n :key=\"index\"\n role=\"listitem\"\n >\n <slot\n name=\"plan\"\n :plan=\"plan\"\n :index=\"index\"\n >\n <TPricingCard\n v-bind=\"plan\"\n :size=\"size\"\n @select=\"emit('select', plan, index)\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;EAmBA,IAAM,IAAQ,GAYR,IAAO,GAIP,IAAY,QACZ,EAAM,UACD,EAAE,qBAAqB,UAAU,EAAM,QAAQ,QAAQ,IAEzD,EAAE,qBAAqB,UAAU,EAAM,MAAM,OAAO,QAAQ,CACpE;yBAIC,EAsBM,OAAA;GArBJ,OAAM;GACL,OAAK,EAAE,EAAA,KAAS;GACjB,MAAK;cAEL,EAgBM,GAAA,MAAA,EAfoB,EAAA,QAAhB,GAAM,YADhB,EAgBM,OAAA;GAdH,KAAK;GACN,MAAK;MAEL,EAUO,EAAA,QAAA,QAAA;GARE;GACC;WAOH,CALL,EAIE,GAJF,EAIE,EAAA,SAAA,GAAA,GAHQ,GAAI;GACX,MAAM,EAAA;GACN,WAAM,MAAE,EAAI,UAAW,GAAM,CAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricingCard.cjs","names":[],"sources":["../../src/components/TPricingCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TButton from './TButton.vue';\nimport TBadge from './TBadge.vue';\n\nexport interface PricingFeature {\n text: string;\n included?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n size?: TSize;\n disabled?: boolean;\n }>(),\n {\n description: undefined,\n currency: '$',\n period: undefined,\n features: () => [],\n highlighted: false,\n badge: undefined,\n buttonText: undefined,\n size: 'md',\n disabled: false,\n },\n);\n\nconst emit = defineEmits<{\n select: [];\n}>();\n\ndefineSlots<{\n header?: () => unknown;\n price?: () => unknown;\n features?: () => unknown;\n action?: () => unknown;\n badge?: () => unknown;\n}>();\n\nconst classes = computed(() => [\n 't-pricing-card',\n `t-pricing-card--${props.size}`,\n {\n 't-pricing-card--highlighted': props.highlighted,\n },\n]);\n\nconst onSelect = () => {\n if (!props.disabled) {\n emit('select');\n }\n};\n</script>\n\n<template>\n <article :class=\"classes\">\n <div\n v-if=\"badge || $slots.badge\"\n class=\"t-pricing-card__badge\"\n >\n <slot name=\"badge\">\n <TBadge\n variant=\"solid\"\n size=\"sm\"\n >\n {{ badge }}\n </TBadge>\n </slot>\n </div>\n\n <header class=\"t-pricing-card__header\">\n <slot name=\"header\">\n <h3 class=\"t-pricing-card__title\">\n {{ title }}\n </h3>\n <p\n v-if=\"description\"\n class=\"t-pricing-card__description\"\n >\n {{ description }}\n </p>\n </slot>\n </header>\n\n <div class=\"t-pricing-card__price\">\n <slot name=\"price\">\n <span class=\"t-pricing-card__currency\">{{ currency }}</span>\n <span class=\"t-pricing-card__amount\">{{ price }}</span>\n <span\n v-if=\"period\"\n class=\"t-pricing-card__period\"\n >{{ period }}</span>\n </slot>\n </div>\n\n <div\n v-if=\"features.length > 0 || $slots.features\"\n class=\"t-pricing-card__features\"\n >\n <slot name=\"features\">\n <ul\n class=\"t-pricing-card__feature-list\"\n role=\"list\"\n >\n <li\n v-for=\"(feature, index) in features\"\n :key=\"index\"\n class=\"t-pricing-card__feature-item\"\n :class=\"{ 't-pricing-card__feature-item--excluded': feature.included === false }\"\n >\n <span\n class=\"t-pricing-card__feature-icon\"\n aria-hidden=\"true\"\n >\n {{ feature.included === false ? '✕' : '✓' }}\n </span>\n <span>{{ feature.text }}</span>\n </li>\n </ul>\n </slot>\n </div>\n\n <footer\n v-if=\"buttonText || $slots.action\"\n class=\"t-pricing-card__action\"\n >\n <slot name=\"action\">\n <TButton\n :variant=\"highlighted ? 'solid' : 'outline'\"\n :size=\"size\"\n :disabled=\"disabled\"\n @click=\"onSelect\"\n >\n {{ buttonText }}\n </TButton>\n </slot>\n </footer>\n </article>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricingCard.js","names":[],"sources":["../../src/components/TPricingCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TButton from './TButton.vue';\nimport TBadge from './TBadge.vue';\n\nexport interface PricingFeature {\n text: string;\n included?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n size?: TSize;\n disabled?: boolean;\n }>(),\n {\n description: undefined,\n currency: '$',\n period: undefined,\n features: () => [],\n highlighted: false,\n badge: undefined,\n buttonText: undefined,\n size: 'md',\n disabled: false,\n },\n);\n\nconst emit = defineEmits<{\n select: [];\n}>();\n\ndefineSlots<{\n header?: () => unknown;\n price?: () => unknown;\n features?: () => unknown;\n action?: () => unknown;\n badge?: () => unknown;\n}>();\n\nconst classes = computed(() => [\n 't-pricing-card',\n `t-pricing-card--${props.size}`,\n {\n 't-pricing-card--highlighted': props.highlighted,\n },\n]);\n\nconst onSelect = () => {\n if (!props.disabled) {\n emit('select');\n }\n};\n</script>\n\n<template>\n <article :class=\"classes\">\n <div\n v-if=\"badge || $slots.badge\"\n class=\"t-pricing-card__badge\"\n >\n <slot name=\"badge\">\n <TBadge\n variant=\"solid\"\n size=\"sm\"\n >\n {{ badge }}\n </TBadge>\n </slot>\n </div>\n\n <header class=\"t-pricing-card__header\">\n <slot name=\"header\">\n <h3 class=\"t-pricing-card__title\">\n {{ title }}\n </h3>\n <p\n v-if=\"description\"\n class=\"t-pricing-card__description\"\n >\n {{ description }}\n </p>\n </slot>\n </header>\n\n <div class=\"t-pricing-card__price\">\n <slot name=\"price\">\n <span class=\"t-pricing-card__currency\">{{ currency }}</span>\n <span class=\"t-pricing-card__amount\">{{ price }}</span>\n <span\n v-if=\"period\"\n class=\"t-pricing-card__period\"\n >{{ period }}</span>\n </slot>\n </div>\n\n <div\n v-if=\"features.length > 0 || $slots.features\"\n class=\"t-pricing-card__features\"\n >\n <slot name=\"features\">\n <ul\n class=\"t-pricing-card__feature-list\"\n role=\"list\"\n >\n <li\n v-for=\"(feature, index) in features\"\n :key=\"index\"\n class=\"t-pricing-card__feature-item\"\n :class=\"{ 't-pricing-card__feature-item--excluded': feature.included === false }\"\n >\n <span\n class=\"t-pricing-card__feature-icon\"\n aria-hidden=\"true\"\n >\n {{ feature.included === false ? '✕' : '✓' }}\n </span>\n <span>{{ feature.text }}</span>\n </li>\n </ul>\n </slot>\n </div>\n\n <footer\n v-if=\"buttonText || $slots.action\"\n class=\"t-pricing-card__action\"\n >\n <slot name=\"action\">\n <TButton\n :variant=\"highlighted ? 'solid' : 'outline'\"\n :size=\"size\"\n :disabled=\"disabled\"\n @click=\"onSelect\"\n >\n {{ buttonText }}\n </TButton>\n </slot>\n </footer>\n </article>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./TBadge.cjs"),t=require("./TButton.cjs");let n=require("vue");var r={key:0,class:`t-pricing-card__badge`},i={class:`t-pricing-card__header`},a={class:`t-pricing-card__title`},o={key:0,class:`t-pricing-card__description`},s={class:`t-pricing-card__price`},c={class:`t-pricing-card__currency`},l={class:`t-pricing-card__amount`},u={key:0,class:`t-pricing-card__period`},d={key:1,class:`t-pricing-card__features`},f={class:`t-pricing-card__feature-list`,role:`list`},p={class:`t-pricing-card__feature-icon`,"aria-hidden":`true`},m={key:2,class:`t-pricing-card__action`},h=(0,n.defineComponent)({__name:`TPricingCard`,props:{title:{},description:{default:void 0},price:{},currency:{default:`$`},period:{default:void 0},features:{default:()=>[]},highlighted:{type:Boolean,default:!1},badge:{default:void 0},buttonText:{default:void 0},size:{default:`md`},disabled:{type:Boolean,default:!1}},emits:[`select`],setup(h,{emit:g}){let _=h,v=g,y=(0,n.computed)(()=>[`t-pricing-card`,`t-pricing-card--${_.size}`,{"t-pricing-card--highlighted":_.highlighted}]),b=()=>{_.disabled||v(`select`)};return(g,_)=>((0,n.openBlock)(),(0,n.createElementBlock)(`article`,{class:(0,n.normalizeClass)(y.value)},[h.badge||g.$slots.badge?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,r,[(0,n.renderSlot)(g.$slots,`badge`,{},()=>[(0,n.createVNode)(e.default,{variant:`solid`,size:`sm`},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(h.badge),1)]),_:1})])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`header`,i,[(0,n.renderSlot)(g.$slots,`header`,{},()=>[(0,n.createElementVNode)(`h3`,a,(0,n.toDisplayString)(h.title),1),h.description?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,o,(0,n.toDisplayString)(h.description),1)):(0,n.createCommentVNode)(``,!0)])]),(0,n.createElementVNode)(`div`,s,[(0,n.renderSlot)(g.$slots,`price`,{},()=>[(0,n.createElementVNode)(`span`,c,(0,n.toDisplayString)(h.currency),1),(0,n.createElementVNode)(`span`,l,(0,n.toDisplayString)(h.price),1),h.period?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,u,(0,n.toDisplayString)(h.period),1)):(0,n.createCommentVNode)(``,!0)])]),h.features.length>0||g.$slots.features?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,d,[(0,n.renderSlot)(g.$slots,`features`,{},()=>[(0,n.createElementVNode)(`ul`,f,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.features,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`li`,{key:t,class:(0,n.normalizeClass)([`t-pricing-card__feature-item`,{"t-pricing-card__feature-item--excluded":e.included===!1}])},[(0,n.createElementVNode)(`span`,p,(0,n.toDisplayString)(e.included===!1?`✕`:`✓`),1),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(e.text),1)],2))),128))])])])):(0,n.createCommentVNode)(``,!0),h.buttonText||g.$slots.action?((0,n.openBlock)(),(0,n.createElementBlock)(`footer`,m,[(0,n.renderSlot)(g.$slots,`action`,{},()=>[(0,n.createVNode)(t.default,{variant:h.highlighted?`solid`:`outline`,size:h.size,disabled:h.disabled,onClick:b},{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(h.buttonText),1)]),_:1},8,[`variant`,`size`,`disabled`])])])):(0,n.createCommentVNode)(``,!0)],2))}});exports.default=h;
|
|
2
|
+
//# sourceMappingURL=TPricingCard.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricingCard.vue_vue_type_script_setup_true_lang.cjs","names":["$slots"],"sources":["../../src/components/TPricingCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TButton from './TButton.vue';\nimport TBadge from './TBadge.vue';\n\nexport interface PricingFeature {\n text: string;\n included?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n size?: TSize;\n disabled?: boolean;\n }>(),\n {\n description: undefined,\n currency: '$',\n period: undefined,\n features: () => [],\n highlighted: false,\n badge: undefined,\n buttonText: undefined,\n size: 'md',\n disabled: false,\n },\n);\n\nconst emit = defineEmits<{\n select: [];\n}>();\n\ndefineSlots<{\n header?: () => unknown;\n price?: () => unknown;\n features?: () => unknown;\n action?: () => unknown;\n badge?: () => unknown;\n}>();\n\nconst classes = computed(() => [\n 't-pricing-card',\n `t-pricing-card--${props.size}`,\n {\n 't-pricing-card--highlighted': props.highlighted,\n },\n]);\n\nconst onSelect = () => {\n if (!props.disabled) {\n emit('select');\n }\n};\n</script>\n\n<template>\n <article :class=\"classes\">\n <div\n v-if=\"badge || $slots.badge\"\n class=\"t-pricing-card__badge\"\n >\n <slot name=\"badge\">\n <TBadge\n variant=\"solid\"\n size=\"sm\"\n >\n {{ badge }}\n </TBadge>\n </slot>\n </div>\n\n <header class=\"t-pricing-card__header\">\n <slot name=\"header\">\n <h3 class=\"t-pricing-card__title\">\n {{ title }}\n </h3>\n <p\n v-if=\"description\"\n class=\"t-pricing-card__description\"\n >\n {{ description }}\n </p>\n </slot>\n </header>\n\n <div class=\"t-pricing-card__price\">\n <slot name=\"price\">\n <span class=\"t-pricing-card__currency\">{{ currency }}</span>\n <span class=\"t-pricing-card__amount\">{{ price }}</span>\n <span\n v-if=\"period\"\n class=\"t-pricing-card__period\"\n >{{ period }}</span>\n </slot>\n </div>\n\n <div\n v-if=\"features.length > 0 || $slots.features\"\n class=\"t-pricing-card__features\"\n >\n <slot name=\"features\">\n <ul\n class=\"t-pricing-card__feature-list\"\n role=\"list\"\n >\n <li\n v-for=\"(feature, index) in features\"\n :key=\"index\"\n class=\"t-pricing-card__feature-item\"\n :class=\"{ 't-pricing-card__feature-item--excluded': feature.included === false }\"\n >\n <span\n class=\"t-pricing-card__feature-icon\"\n aria-hidden=\"true\"\n >\n {{ feature.included === false ? '✕' : '✓' }}\n </span>\n <span>{{ feature.text }}</span>\n </li>\n </ul>\n </slot>\n </div>\n\n <footer\n v-if=\"buttonText || $slots.action\"\n class=\"t-pricing-card__action\"\n >\n <slot name=\"action\">\n <TButton\n :variant=\"highlighted ? 'solid' : 'outline'\"\n :size=\"size\"\n :disabled=\"disabled\"\n @click=\"onSelect\"\n >\n {{ buttonText }}\n </TButton>\n </slot>\n </footer>\n </article>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import e from "./TBadge.js";
|
|
2
|
+
import t from "./TButton.js";
|
|
3
|
+
import { Fragment as n, computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, toDisplayString as m, withCtx as h } from "vue";
|
|
4
|
+
//#region src/components/TPricingCard.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var g = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "t-pricing-card__badge"
|
|
8
|
+
}, _ = { class: "t-pricing-card__header" }, v = { class: "t-pricing-card__title" }, y = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "t-pricing-card__description"
|
|
11
|
+
}, b = { class: "t-pricing-card__price" }, x = { class: "t-pricing-card__currency" }, S = { class: "t-pricing-card__amount" }, C = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "t-pricing-card__period"
|
|
14
|
+
}, w = {
|
|
15
|
+
key: 1,
|
|
16
|
+
class: "t-pricing-card__features"
|
|
17
|
+
}, T = {
|
|
18
|
+
class: "t-pricing-card__feature-list",
|
|
19
|
+
role: "list"
|
|
20
|
+
}, E = {
|
|
21
|
+
class: "t-pricing-card__feature-icon",
|
|
22
|
+
"aria-hidden": "true"
|
|
23
|
+
}, D = {
|
|
24
|
+
key: 2,
|
|
25
|
+
class: "t-pricing-card__action"
|
|
26
|
+
}, O = /*@__PURE__*/ l({
|
|
27
|
+
__name: "TPricingCard",
|
|
28
|
+
props: {
|
|
29
|
+
title: {},
|
|
30
|
+
description: { default: void 0 },
|
|
31
|
+
price: {},
|
|
32
|
+
currency: { default: "$" },
|
|
33
|
+
period: { default: void 0 },
|
|
34
|
+
features: { default: () => [] },
|
|
35
|
+
highlighted: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: !1
|
|
38
|
+
},
|
|
39
|
+
badge: { default: void 0 },
|
|
40
|
+
buttonText: { default: void 0 },
|
|
41
|
+
size: { default: "md" },
|
|
42
|
+
disabled: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: !1
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
emits: ["select"],
|
|
48
|
+
setup(l, { emit: O }) {
|
|
49
|
+
let k = l, A = O, j = r(() => [
|
|
50
|
+
"t-pricing-card",
|
|
51
|
+
`t-pricing-card--${k.size}`,
|
|
52
|
+
{ "t-pricing-card--highlighted": k.highlighted }
|
|
53
|
+
]), M = () => {
|
|
54
|
+
k.disabled || A("select");
|
|
55
|
+
};
|
|
56
|
+
return (r, O) => (d(), a("article", { class: u(j.value) }, [
|
|
57
|
+
l.badge || r.$slots.badge ? (d(), a("div", g, [p(r.$slots, "badge", {}, () => [c(e, {
|
|
58
|
+
variant: "solid",
|
|
59
|
+
size: "sm"
|
|
60
|
+
}, {
|
|
61
|
+
default: h(() => [s(m(l.badge), 1)]),
|
|
62
|
+
_: 1
|
|
63
|
+
})])])) : i("", !0),
|
|
64
|
+
o("header", _, [p(r.$slots, "header", {}, () => [o("h3", v, m(l.title), 1), l.description ? (d(), a("p", y, m(l.description), 1)) : i("", !0)])]),
|
|
65
|
+
o("div", b, [p(r.$slots, "price", {}, () => [
|
|
66
|
+
o("span", x, m(l.currency), 1),
|
|
67
|
+
o("span", S, m(l.price), 1),
|
|
68
|
+
l.period ? (d(), a("span", C, m(l.period), 1)) : i("", !0)
|
|
69
|
+
])]),
|
|
70
|
+
l.features.length > 0 || r.$slots.features ? (d(), a("div", w, [p(r.$slots, "features", {}, () => [o("ul", T, [(d(!0), a(n, null, f(l.features, (e, t) => (d(), a("li", {
|
|
71
|
+
key: t,
|
|
72
|
+
class: u(["t-pricing-card__feature-item", { "t-pricing-card__feature-item--excluded": e.included === !1 }])
|
|
73
|
+
}, [o("span", E, m(e.included === !1 ? "✕" : "✓"), 1), o("span", null, m(e.text), 1)], 2))), 128))])])])) : i("", !0),
|
|
74
|
+
l.buttonText || r.$slots.action ? (d(), a("footer", D, [p(r.$slots, "action", {}, () => [c(t, {
|
|
75
|
+
variant: l.highlighted ? "solid" : "outline",
|
|
76
|
+
size: l.size,
|
|
77
|
+
disabled: l.disabled,
|
|
78
|
+
onClick: M
|
|
79
|
+
}, {
|
|
80
|
+
default: h(() => [s(m(l.buttonText), 1)]),
|
|
81
|
+
_: 1
|
|
82
|
+
}, 8, [
|
|
83
|
+
"variant",
|
|
84
|
+
"size",
|
|
85
|
+
"disabled"
|
|
86
|
+
])])])) : i("", !0)
|
|
87
|
+
], 2));
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
//#endregion
|
|
91
|
+
export { O as default };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=TPricingCard.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPricingCard.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../src/components/TPricingCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport TButton from './TButton.vue';\nimport TBadge from './TBadge.vue';\n\nexport interface PricingFeature {\n text: string;\n included?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n title: string;\n description?: string;\n price: string | number;\n currency?: string;\n period?: string;\n features?: PricingFeature[];\n highlighted?: boolean;\n badge?: string;\n buttonText?: string;\n size?: TSize;\n disabled?: boolean;\n }>(),\n {\n description: undefined,\n currency: '$',\n period: undefined,\n features: () => [],\n highlighted: false,\n badge: undefined,\n buttonText: undefined,\n size: 'md',\n disabled: false,\n },\n);\n\nconst emit = defineEmits<{\n select: [];\n}>();\n\ndefineSlots<{\n header?: () => unknown;\n price?: () => unknown;\n features?: () => unknown;\n action?: () => unknown;\n badge?: () => unknown;\n}>();\n\nconst classes = computed(() => [\n 't-pricing-card',\n `t-pricing-card--${props.size}`,\n {\n 't-pricing-card--highlighted': props.highlighted,\n },\n]);\n\nconst onSelect = () => {\n if (!props.disabled) {\n emit('select');\n }\n};\n</script>\n\n<template>\n <article :class=\"classes\">\n <div\n v-if=\"badge || $slots.badge\"\n class=\"t-pricing-card__badge\"\n >\n <slot name=\"badge\">\n <TBadge\n variant=\"solid\"\n size=\"sm\"\n >\n {{ badge }}\n </TBadge>\n </slot>\n </div>\n\n <header class=\"t-pricing-card__header\">\n <slot name=\"header\">\n <h3 class=\"t-pricing-card__title\">\n {{ title }}\n </h3>\n <p\n v-if=\"description\"\n class=\"t-pricing-card__description\"\n >\n {{ description }}\n </p>\n </slot>\n </header>\n\n <div class=\"t-pricing-card__price\">\n <slot name=\"price\">\n <span class=\"t-pricing-card__currency\">{{ currency }}</span>\n <span class=\"t-pricing-card__amount\">{{ price }}</span>\n <span\n v-if=\"period\"\n class=\"t-pricing-card__period\"\n >{{ period }}</span>\n </slot>\n </div>\n\n <div\n v-if=\"features.length > 0 || $slots.features\"\n class=\"t-pricing-card__features\"\n >\n <slot name=\"features\">\n <ul\n class=\"t-pricing-card__feature-list\"\n role=\"list\"\n >\n <li\n v-for=\"(feature, index) in features\"\n :key=\"index\"\n class=\"t-pricing-card__feature-item\"\n :class=\"{ 't-pricing-card__feature-item--excluded': feature.included === false }\"\n >\n <span\n class=\"t-pricing-card__feature-icon\"\n aria-hidden=\"true\"\n >\n {{ feature.included === false ? '✕' : '✓' }}\n </span>\n <span>{{ feature.text }}</span>\n </li>\n </ul>\n </slot>\n </div>\n\n <footer\n v-if=\"buttonText || $slots.action\"\n class=\"t-pricing-card__action\"\n >\n <slot name=\"action\">\n <TButton\n :variant=\"highlighted ? 'solid' : 'outline'\"\n :size=\"size\"\n :disabled=\"disabled\"\n @click=\"onSelect\"\n >\n {{ buttonText }}\n </TButton>\n </slot>\n </footer>\n </article>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWA,IAAM,IAAQ,GA2BR,IAAO,GAYP,IAAU,QAAe;GAC7B;GACA,mBAAmB,EAAM;GACzB,EACE,+BAA+B,EAAM,YACvC;EACF,CAAC,GAEK,UAAiB;GACrB,AAAK,EAAM,YACT,EAAK,QAAQ;EAEjB;yBAIE,EAkFU,WAAA,EAlFA,OAAK,EAAE,EAAA,KAAO,EAAA,GAAA;GAEd,EAAA,SAASA,EAAAA,OAAO,SAAA,EAAA,GADxB,EAYM,OAZN,GAYM,CARJ,EAOO,EAAA,QAAA,SAAA,CAAA,SAAA,CANL,EAKS,GAAA;IAJP,SAAQ;IACR,MAAK;;qBAEM,CAAA,EAAA,EAAR,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA;;;GAKd,EAYS,UAZT,GAYS,CAXP,EAUO,EAAA,QAAA,UAAA,CAAA,SAAA,CATL,EAEK,MAFL,GAEK,EADA,EAAA,KAAK,GAAA,CAAA,GAGF,EAAA,eAAA,EAAA,GADR,EAKI,KALJ,GAKI,EADC,EAAA,WAAW,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAKpB,EASM,OATN,GASM,CARJ,EAOO,EAAA,QAAA,SAAA,CAAA,SAAA;IANL,EAA4D,QAA5D,GAA4D,EAAlB,EAAA,QAAQ,GAAA,CAAA;IAClD,EAAuD,QAAvD,GAAuD,EAAf,EAAA,KAAK,GAAA,CAAA;IAErC,EAAA,UAAA,EAAA,GADR,EAGoB,QAHpB,GAGoB,EAAhB,EAAA,MAAM,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA;;GAKN,EAAA,SAAS,SAAM,KAAQA,EAAAA,OAAO,YAAA,EAAA,GADtC,EAyBM,OAzBN,GAyBM,CArBJ,EAoBO,EAAA,QAAA,YAAA,CAAA,SAAA,CAnBL,EAkBK,MAlBL,GAkBK,EAAA,EAAA,EAAA,GAdH,EAaK,GAAA,MAAA,EAZwB,EAAA,WAAnB,GAAS,YADnB,EAaK,MAAA;IAXF,KAAK;IACN,OAAK,EAAA,CAAC,gCAA8B,EAAA,0CACgB,EAAQ,aAAQ,GAAA,CAAA,CAAA;OAEpE,EAKO,QALP,GAKO,EADF,EAAQ,aAAQ,KAAA,MAAA,GAAA,GAAA,CAAA,GAErB,EAA+B,QAAA,MAAA,EAAtB,EAAQ,IAAI,GAAA,CAAA,CAAA,GAAA,CAAA;GAOrB,EAAA,cAAcA,EAAAA,OAAO,UAAA,EAAA,GAD7B,EAcS,UAdT,GAcS,CAVP,EASO,EAAA,QAAA,UAAA,CAAA,SAAA,CARL,EAOU,GAAA;IANP,SAAS,EAAA,cAAW,UAAA;IACpB,MAAM,EAAA;IACN,UAAU,EAAA;IACV,SAAO;;qBAEQ,CAAA,EAAA,EAAb,EAAA,UAAU,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TProgress.cjs","names":[],"sources":["../../src/components/TProgress.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current progress value (0–100). Omit for indeterminate. */\n value?: number;\n /** Maximum value. Defaults to 100. */\n max?: number;\n /** Size variant */\n size?: TSize;\n /** Accessible label */\n label?: string;\n }>(),\n {\n value: undefined,\n max: 100,\n size: 'md',\n label: 'Progress',\n },\n);\n\nconst isIndeterminate = computed(() => props.value === undefined || props.value === null);\n\nconst percentage = computed(() => {\n if (isIndeterminate.value) return 0;\n return Math.min(100, Math.max(0, (props.value! / props.max) * 100));\n});\n\nconst classes = computed(() => [\n 't-progress',\n `t-progress--${props.size}`,\n { 't-progress--indeterminate': isIndeterminate.value },\n]);\n</script>\n\n<template>\n <div\n :class=\"classes\"\n role=\"progressbar\"\n :aria-valuenow=\"isIndeterminate ? undefined : percentage\"\n :aria-valuemin=\"0\"\n :aria-valuemax=\"100\"\n :aria-label=\"label\"\n >\n <div class=\"t-progress__track\">\n <div\n class=\"t-progress__fill\"\n :style=\"isIndeterminate ? undefined : { width: `${percentage}%` }\"\n />\n </div>\n\n <span class=\"t-visually-hidden\">{{ label }}</span>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TProgress.js","names":[],"sources":["../../src/components/TProgress.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current progress value (0–100). Omit for indeterminate. */\n value?: number;\n /** Maximum value. Defaults to 100. */\n max?: number;\n /** Size variant */\n size?: TSize;\n /** Accessible label */\n label?: string;\n }>(),\n {\n value: undefined,\n max: 100,\n size: 'md',\n label: 'Progress',\n },\n);\n\nconst isIndeterminate = computed(() => props.value === undefined || props.value === null);\n\nconst percentage = computed(() => {\n if (isIndeterminate.value) return 0;\n return Math.min(100, Math.max(0, (props.value! / props.max) * 100));\n});\n\nconst classes = computed(() => [\n 't-progress',\n `t-progress--${props.size}`,\n { 't-progress--indeterminate': isIndeterminate.value },\n]);\n</script>\n\n<template>\n <div\n :class=\"classes\"\n role=\"progressbar\"\n :aria-valuenow=\"isIndeterminate ? undefined : percentage\"\n :aria-valuemin=\"0\"\n :aria-valuemax=\"100\"\n :aria-label=\"label\"\n >\n <div class=\"t-progress__track\">\n <div\n class=\"t-progress__fill\"\n :style=\"isIndeterminate ? undefined : { width: `${percentage}%` }\"\n />\n </div>\n\n <span class=\"t-visually-hidden\">{{ label }}</span>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("vue");var t=[`aria-valuenow`,`aria-label`],n={class:`t-progress__track`},r={class:`t-visually-hidden`},i=(0,e.defineComponent)({__name:`TProgress`,props:{value:{default:void 0},max:{default:100},size:{default:`md`},label:{default:`Progress`}},setup(i){let a=i,o=(0,e.computed)(()=>a.value===void 0||a.value===null),s=(0,e.computed)(()=>o.value?0:Math.min(100,Math.max(0,a.value/a.max*100))),c=(0,e.computed)(()=>[`t-progress`,`t-progress--${a.size}`,{"t-progress--indeterminate":o.value}]);return(a,l)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)(c.value),role:`progressbar`,"aria-valuenow":o.value?void 0:s.value,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i.label},[(0,e.createElementVNode)(`div`,n,[(0,e.createElementVNode)(`div`,{class:`t-progress__fill`,style:(0,e.normalizeStyle)(o.value?void 0:{width:`${s.value}%`})},null,4)]),(0,e.createElementVNode)(`span`,r,(0,e.toDisplayString)(i.label),1)],10,t))}});exports.default=i;
|
|
2
|
+
//# sourceMappingURL=TProgress.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TProgress.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../src/components/TProgress.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current progress value (0–100). Omit for indeterminate. */\n value?: number;\n /** Maximum value. Defaults to 100. */\n max?: number;\n /** Size variant */\n size?: TSize;\n /** Accessible label */\n label?: string;\n }>(),\n {\n value: undefined,\n max: 100,\n size: 'md',\n label: 'Progress',\n },\n);\n\nconst isIndeterminate = computed(() => props.value === undefined || props.value === null);\n\nconst percentage = computed(() => {\n if (isIndeterminate.value) return 0;\n return Math.min(100, Math.max(0, (props.value! / props.max) * 100));\n});\n\nconst classes = computed(() => [\n 't-progress',\n `t-progress--${props.size}`,\n { 't-progress--indeterminate': isIndeterminate.value },\n]);\n</script>\n\n<template>\n <div\n :class=\"classes\"\n role=\"progressbar\"\n :aria-valuenow=\"isIndeterminate ? undefined : percentage\"\n :aria-valuemin=\"0\"\n :aria-valuemax=\"100\"\n :aria-label=\"label\"\n >\n <div class=\"t-progress__track\">\n <div\n class=\"t-progress__fill\"\n :style=\"isIndeterminate ? undefined : { width: `${percentage}%` }\"\n />\n </div>\n\n <span class=\"t-visually-hidden\">{{ label }}</span>\n </div>\n</template>\n"],"mappings":"2QAIA,IAAM,EAAQ,EAmBR,GAAA,EAAA,EAAA,SAAA,KAAiC,EAAM,QAAU,IAAA,IAAa,EAAM,QAAU,IAAI,EAElF,GAAA,EAAA,EAAA,SAAA,KACA,EAAgB,MAAc,EAC3B,KAAK,IAAI,IAAK,KAAK,IAAI,EAAI,EAAM,MAAS,EAAM,IAAO,GAAG,CAAC,CACnE,EAEK,GAAA,EAAA,EAAA,SAAA,KAAyB,CAC7B,aACA,eAAe,EAAM,OACrB,CAAE,4BAA6B,EAAgB,KAAM,CACvD,CAAC,2DAoBO,MAAA,CAfH,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAO,EACf,KAAK,cACJ,gBAAe,EAAA,MAAkB,IAAA,GAAY,EAAA,MAC7C,gBAAe,EACf,gBAAe,IACf,aAAY,EAAA,iCAOP,MALN,EAKM,EAAA,EAAA,EAAA,mBAAA,CADF,MAAA,CAFA,MAAM,mBACL,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,MAAkB,IAAA,GAAS,CAAA,MAAA,GAAe,EAAA,MAAU,EAAA,CAAA,sCAId,OAAlD,GAAA,EAAA,EAAA,gBAAA,CAAmC,EAAA,KAAK,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { computed as e, createElementBlock as t, createElementVNode as n, defineComponent as r, normalizeClass as i, normalizeStyle as a, openBlock as o, toDisplayString as s } from "vue";
|
|
2
|
+
//#region src/components/TProgress.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var c = ["aria-valuenow", "aria-label"], l = { class: "t-progress__track" }, u = { class: "t-visually-hidden" }, d = /*@__PURE__*/ r({
|
|
4
|
+
__name: "TProgress",
|
|
5
|
+
props: {
|
|
6
|
+
value: { default: void 0 },
|
|
7
|
+
max: { default: 100 },
|
|
8
|
+
size: { default: "md" },
|
|
9
|
+
label: { default: "Progress" }
|
|
10
|
+
},
|
|
11
|
+
setup(r) {
|
|
12
|
+
let d = r, f = e(() => d.value === void 0 || d.value === null), p = e(() => f.value ? 0 : Math.min(100, Math.max(0, d.value / d.max * 100))), m = e(() => [
|
|
13
|
+
"t-progress",
|
|
14
|
+
`t-progress--${d.size}`,
|
|
15
|
+
{ "t-progress--indeterminate": f.value }
|
|
16
|
+
]);
|
|
17
|
+
return (e, d) => (o(), t("div", {
|
|
18
|
+
class: i(m.value),
|
|
19
|
+
role: "progressbar",
|
|
20
|
+
"aria-valuenow": f.value ? void 0 : p.value,
|
|
21
|
+
"aria-valuemin": 0,
|
|
22
|
+
"aria-valuemax": 100,
|
|
23
|
+
"aria-label": r.label
|
|
24
|
+
}, [n("div", l, [n("div", {
|
|
25
|
+
class: "t-progress__fill",
|
|
26
|
+
style: a(f.value ? void 0 : { width: `${p.value}%` })
|
|
27
|
+
}, null, 4)]), n("span", u, s(r.label), 1)], 10, c));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
export { d as default };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=TProgress.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TProgress.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../src/components/TProgress.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current progress value (0–100). Omit for indeterminate. */\n value?: number;\n /** Maximum value. Defaults to 100. */\n max?: number;\n /** Size variant */\n size?: TSize;\n /** Accessible label */\n label?: string;\n }>(),\n {\n value: undefined,\n max: 100,\n size: 'md',\n label: 'Progress',\n },\n);\n\nconst isIndeterminate = computed(() => props.value === undefined || props.value === null);\n\nconst percentage = computed(() => {\n if (isIndeterminate.value) return 0;\n return Math.min(100, Math.max(0, (props.value! / props.max) * 100));\n});\n\nconst classes = computed(() => [\n 't-progress',\n `t-progress--${props.size}`,\n { 't-progress--indeterminate': isIndeterminate.value },\n]);\n</script>\n\n<template>\n <div\n :class=\"classes\"\n role=\"progressbar\"\n :aria-valuenow=\"isIndeterminate ? undefined : percentage\"\n :aria-valuemin=\"0\"\n :aria-valuemax=\"100\"\n :aria-label=\"label\"\n >\n <div class=\"t-progress__track\">\n <div\n class=\"t-progress__fill\"\n :style=\"isIndeterminate ? undefined : { width: `${percentage}%` }\"\n />\n </div>\n\n <span class=\"t-visually-hidden\">{{ label }}</span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;EAIA,IAAM,IAAQ,GAmBR,IAAkB,QAAe,EAAM,UAAU,KAAA,KAAa,EAAM,UAAU,IAAI,GAElF,IAAa,QACb,EAAgB,QAAc,IAC3B,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,EAAM,QAAS,EAAM,MAAO,GAAG,CAAC,CACnE,GAEK,IAAU,QAAe;GAC7B;GACA,eAAe,EAAM;GACrB,EAAE,6BAA6B,EAAgB,MAAM;EACvD,CAAC;yBAIC,EAgBM,OAAA;GAfH,OAAK,EAAE,EAAA,KAAO;GACf,MAAK;GACJ,iBAAe,EAAA,QAAkB,KAAA,IAAY,EAAA;GAC7C,iBAAe;GACf,iBAAe;GACf,cAAY,EAAA;MAEb,EAKM,OALN,GAKM,CAJJ,EAGE,OAAA;GAFA,OAAM;GACL,OAAK,EAAE,EAAA,QAAkB,KAAA,IAAS,EAAA,OAAA,GAAe,EAAA,MAAU,GAAA,CAAA;iBAIhE,EAAkD,QAAlD,GAAkD,EAAf,EAAA,KAAK,GAAA,CAAA,CAAA,GAAA,IAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TRadio.cjs","names":[],"sources":["../../src/components/TRadio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n value: string;\n disabled?: boolean;\n invalid?: boolean;\n size?: TSize;\n }>(),\n {\n disabled: false,\n invalid: false,\n size: undefined,\n },\n);\n\nconst group = inject<{\n modelValue: () => string | undefined;\n name: () => string | undefined;\n disabled: () => boolean;\n invalid: () => boolean;\n size: () => TSize;\n onChange: (value: string) => void;\n} | null>('t-radio-group', null);\n\nconst attrs = useAttrs();\n\nconst isChecked = computed(() => {\n return group ? group.modelValue() === props.value : false;\n});\n\nconst isDisabled = computed(() => props.disabled || (group?.disabled() ?? false));\nconst isInvalid = computed(() => props.invalid || (group?.invalid() ?? false));\nconst resolvedSize = computed(() => props.size ?? group?.size() ?? 'md');\n\nconst rootClasses = computed(() => [\n 't-radio',\n `t-radio--${resolvedSize.value}`,\n {\n 'is-checked': isChecked.value,\n 'is-disabled': isDisabled.value,\n 'is-invalid': isInvalid.value,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst inputAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n\nconst onChange = () => {\n if (group) {\n group.onChange(props.value);\n }\n};\n</script>\n\n<template>\n <label\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <input\n v-bind=\"inputAttrs\"\n type=\"radio\"\n class=\"t-radio__input\"\n :value=\"value\"\n :checked=\"isChecked\"\n :disabled=\"isDisabled\"\n :name=\"group?.name()\"\n :aria-checked=\"isChecked\"\n :aria-invalid=\"isInvalid || undefined\"\n @change=\"onChange\"\n >\n <span\n class=\"t-radio__control\"\n aria-hidden=\"true\"\n >\n <span\n v-if=\"isChecked\"\n class=\"t-radio__dot\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n class=\"t-radio__label\"\n >\n <slot />\n </span>\n </label>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TRadio.js","names":[],"sources":["../../src/components/TRadio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n value: string;\n disabled?: boolean;\n invalid?: boolean;\n size?: TSize;\n }>(),\n {\n disabled: false,\n invalid: false,\n size: undefined,\n },\n);\n\nconst group = inject<{\n modelValue: () => string | undefined;\n name: () => string | undefined;\n disabled: () => boolean;\n invalid: () => boolean;\n size: () => TSize;\n onChange: (value: string) => void;\n} | null>('t-radio-group', null);\n\nconst attrs = useAttrs();\n\nconst isChecked = computed(() => {\n return group ? group.modelValue() === props.value : false;\n});\n\nconst isDisabled = computed(() => props.disabled || (group?.disabled() ?? false));\nconst isInvalid = computed(() => props.invalid || (group?.invalid() ?? false));\nconst resolvedSize = computed(() => props.size ?? group?.size() ?? 'md');\n\nconst rootClasses = computed(() => [\n 't-radio',\n `t-radio--${resolvedSize.value}`,\n {\n 'is-checked': isChecked.value,\n 'is-disabled': isDisabled.value,\n 'is-invalid': isInvalid.value,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst inputAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n\nconst onChange = () => {\n if (group) {\n group.onChange(props.value);\n }\n};\n</script>\n\n<template>\n <label\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <input\n v-bind=\"inputAttrs\"\n type=\"radio\"\n class=\"t-radio__input\"\n :value=\"value\"\n :checked=\"isChecked\"\n :disabled=\"isDisabled\"\n :name=\"group?.name()\"\n :aria-checked=\"isChecked\"\n :aria-invalid=\"isInvalid || undefined\"\n @change=\"onChange\"\n >\n <span\n class=\"t-radio__control\"\n aria-hidden=\"true\"\n >\n <span\n v-if=\"isChecked\"\n class=\"t-radio__dot\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n class=\"t-radio__label\"\n >\n <slot />\n </span>\n </label>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("vue");var t=[`value`,`checked`,`disabled`,`name`,`aria-checked`,`aria-invalid`],n={class:`t-radio__control`,"aria-hidden":`true`},r={key:0,class:`t-radio__dot`},i={key:0,class:`t-radio__label`},a=(0,e.defineComponent)({inheritAttrs:!1,__name:`TRadio`,props:{value:{},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},size:{default:void 0}},setup(a){let o=a,s=(0,e.inject)(`t-radio-group`,null),c=(0,e.useAttrs)(),l=(0,e.computed)(()=>s?s.modelValue()===o.value:!1),u=(0,e.computed)(()=>o.disabled||(s?.disabled()??!1)),d=(0,e.computed)(()=>o.invalid||(s?.invalid()??!1)),f=(0,e.computed)(()=>o.size??s?.size()??`md`),p=(0,e.computed)(()=>[`t-radio`,`t-radio--${f.value}`,{"is-checked":l.value,"is-disabled":u.value,"is-invalid":d.value},c.class]),m=(0,e.computed)(()=>c.style),h=(0,e.computed)(()=>{let{class:e,style:t,...n}=c;return n}),g=()=>{s&&s.onChange(o.value)};return(o,c)=>((0,e.openBlock)(),(0,e.createElementBlock)(`label`,{class:(0,e.normalizeClass)(p.value),style:(0,e.normalizeStyle)(m.value)},[(0,e.createElementVNode)(`input`,(0,e.mergeProps)(h.value,{type:`radio`,class:`t-radio__input`,value:a.value,checked:l.value,disabled:u.value,name:(0,e.unref)(s)?.name(),"aria-checked":l.value,"aria-invalid":d.value||void 0,onChange:g}),null,16,t),(0,e.createElementVNode)(`span`,n,[l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,r)):(0,e.createCommentVNode)(``,!0)]),o.$slots.default?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,i,[(0,e.renderSlot)(o.$slots,`default`)])):(0,e.createCommentVNode)(``,!0)],6))}});exports.default=a;
|
|
2
|
+
//# sourceMappingURL=TRadio.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TRadio.vue_vue_type_script_setup_true_lang.cjs","names":["$slots"],"sources":["../../src/components/TRadio.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n value: string;\n disabled?: boolean;\n invalid?: boolean;\n size?: TSize;\n }>(),\n {\n disabled: false,\n invalid: false,\n size: undefined,\n },\n);\n\nconst group = inject<{\n modelValue: () => string | undefined;\n name: () => string | undefined;\n disabled: () => boolean;\n invalid: () => boolean;\n size: () => TSize;\n onChange: (value: string) => void;\n} | null>('t-radio-group', null);\n\nconst attrs = useAttrs();\n\nconst isChecked = computed(() => {\n return group ? group.modelValue() === props.value : false;\n});\n\nconst isDisabled = computed(() => props.disabled || (group?.disabled() ?? false));\nconst isInvalid = computed(() => props.invalid || (group?.invalid() ?? false));\nconst resolvedSize = computed(() => props.size ?? group?.size() ?? 'md');\n\nconst rootClasses = computed(() => [\n 't-radio',\n `t-radio--${resolvedSize.value}`,\n {\n 'is-checked': isChecked.value,\n 'is-disabled': isDisabled.value,\n 'is-invalid': isInvalid.value,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst inputAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n\nconst onChange = () => {\n if (group) {\n group.onChange(props.value);\n }\n};\n</script>\n\n<template>\n <label\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <input\n v-bind=\"inputAttrs\"\n type=\"radio\"\n class=\"t-radio__input\"\n :value=\"value\"\n :checked=\"isChecked\"\n :disabled=\"isDisabled\"\n :name=\"group?.name()\"\n :aria-checked=\"isChecked\"\n :aria-invalid=\"isInvalid || undefined\"\n @change=\"onChange\"\n >\n <span\n class=\"t-radio__control\"\n aria-hidden=\"true\"\n >\n <span\n v-if=\"isChecked\"\n class=\"t-radio__dot\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n class=\"t-radio__label\"\n >\n <slot />\n </span>\n </label>\n</template>\n"],"mappings":"+XAQA,IAAM,EAAQ,EAcR,GAAA,EAAA,EAAA,OAAA,CAOI,gBAAiB,IAAI,EAEzB,GAAA,EAAA,EAAA,SAAA,CAAiB,EAEjB,GAAA,EAAA,EAAA,SAAA,KACG,EAAQ,EAAM,WAAW,IAAM,EAAM,MAAQ,EACrD,EAEK,GAAA,EAAA,EAAA,SAAA,KAA4B,EAAM,WAAa,GAAO,SAAS,GAAK,GAAM,EAC1E,GAAA,EAAA,EAAA,SAAA,KAA2B,EAAM,UAAY,GAAO,QAAQ,GAAK,GAAM,EACvE,GAAA,EAAA,EAAA,SAAA,KAA8B,EAAM,MAAQ,GAAO,KAAK,GAAK,IAAI,EAEjE,GAAA,EAAA,EAAA,SAAA,KAA6B,CACjC,UACA,YAAY,EAAa,QACzB,CACE,aAAc,EAAU,MACxB,cAAe,EAAW,MAC1B,aAAc,EAAU,KAC1B,EACA,EAAM,KACR,CAAC,EAEK,GAAA,EAAA,EAAA,SAAA,KAA2B,EAAM,KAAK,EAEtC,GAAA,EAAA,EAAA,SAAA,KAA4B,CAChC,GAAM,CAAE,MAAO,EAAQ,MAAO,EAAQ,GAAG,GAAS,EAClD,OAAO,CACT,CAAC,EAEK,MAAiB,CACjB,GACF,EAAM,SAAS,EAAM,KAAK,CAE9B,2DAmCU,QAAA,CA9BL,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAW,EAClB,OAAA,EAAA,EAAA,eAAA,CAAO,EAAA,KAAS,6BAahB,SAAA,EAAA,EAAA,WAAA,CAVS,EAUT,MAVmB,CAClB,KAAK,QACL,MAAM,iBACL,MAAO,EAAA,MACP,QAAS,EAAA,MACT,SAAU,EAAA,MACV,MAAA,EAAA,EAAA,MAAA,CAAM,CAAA,CAAK,EAAE,KAAI,EACjB,eAAc,EAAA,MACd,eAAc,EAAA,OAAa,IAAA,GACnB,iDAUJ,OARP,EAQO,CAHG,EAAA,QAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAEN,OAHF,CAGE,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,CAAA,EAGIA,EAAAA,OAAO,UAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAIR,OALP,EAKO,EAAA,EAAA,EAAA,WAAA,CADG,EAAA,OAAA,SAAA,CAAA,CAAA,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { computed as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, inject as a, mergeProps as o, normalizeClass as s, normalizeStyle as c, openBlock as l, renderSlot as u, unref as d, useAttrs as f } from "vue";
|
|
2
|
+
//#region src/components/TRadio.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var p = [
|
|
4
|
+
"value",
|
|
5
|
+
"checked",
|
|
6
|
+
"disabled",
|
|
7
|
+
"name",
|
|
8
|
+
"aria-checked",
|
|
9
|
+
"aria-invalid"
|
|
10
|
+
], m = {
|
|
11
|
+
class: "t-radio__control",
|
|
12
|
+
"aria-hidden": "true"
|
|
13
|
+
}, h = {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: "t-radio__dot"
|
|
16
|
+
}, g = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "t-radio__label"
|
|
19
|
+
}, _ = /*@__PURE__*/ i({
|
|
20
|
+
inheritAttrs: !1,
|
|
21
|
+
__name: "TRadio",
|
|
22
|
+
props: {
|
|
23
|
+
value: {},
|
|
24
|
+
disabled: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: !1
|
|
27
|
+
},
|
|
28
|
+
invalid: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: !1
|
|
31
|
+
},
|
|
32
|
+
size: { default: void 0 }
|
|
33
|
+
},
|
|
34
|
+
setup(i) {
|
|
35
|
+
let _ = i, v = a("t-radio-group", null), y = f(), b = e(() => v ? v.modelValue() === _.value : !1), x = e(() => _.disabled || (v?.disabled() ?? !1)), S = e(() => _.invalid || (v?.invalid() ?? !1)), C = e(() => _.size ?? v?.size() ?? "md"), w = e(() => [
|
|
36
|
+
"t-radio",
|
|
37
|
+
`t-radio--${C.value}`,
|
|
38
|
+
{
|
|
39
|
+
"is-checked": b.value,
|
|
40
|
+
"is-disabled": x.value,
|
|
41
|
+
"is-invalid": S.value
|
|
42
|
+
},
|
|
43
|
+
y.class
|
|
44
|
+
]), T = e(() => y.style), E = e(() => {
|
|
45
|
+
let { class: e, style: t, ...n } = y;
|
|
46
|
+
return n;
|
|
47
|
+
}), D = () => {
|
|
48
|
+
v && v.onChange(_.value);
|
|
49
|
+
};
|
|
50
|
+
return (e, a) => (l(), n("label", {
|
|
51
|
+
class: s(w.value),
|
|
52
|
+
style: c(T.value)
|
|
53
|
+
}, [
|
|
54
|
+
r("input", o(E.value, {
|
|
55
|
+
type: "radio",
|
|
56
|
+
class: "t-radio__input",
|
|
57
|
+
value: i.value,
|
|
58
|
+
checked: b.value,
|
|
59
|
+
disabled: x.value,
|
|
60
|
+
name: d(v)?.name(),
|
|
61
|
+
"aria-checked": b.value,
|
|
62
|
+
"aria-invalid": S.value || void 0,
|
|
63
|
+
onChange: D
|
|
64
|
+
}), null, 16, p),
|
|
65
|
+
r("span", m, [b.value ? (l(), n("span", h)) : t("", !0)]),
|
|
66
|
+
e.$slots.default ? (l(), n("span", g, [u(e.$slots, "default")])) : t("", !0)
|
|
67
|
+
], 6));
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
//#endregion
|
|
71
|
+
export { _ as default };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=TRadio.vue_vue_type_script_setup_true_lang.js.map
|