@treeui/vue 0.7.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 +3 -8
- 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/{TreeAccordion.vue.d.ts → TAccordion.vue.d.ts} +1 -1
- package/dist/components/TAccordion.vue.d.ts.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/{TreeAccordionItem.vue.d.ts → TAccordionItem.vue.d.ts} +1 -1
- package/dist/components/TAccordionItem.vue.d.ts.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/{TreeAlert.vue.d.ts → TAlert.vue.d.ts} +7 -7
- package/dist/components/TAlert.vue.d.ts.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/{TreeAvatar.vue.d.ts → TAvatar.vue.d.ts} +7 -7
- package/dist/components/TAvatar.vue.d.ts.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/{TreeBadge.vue.d.ts → TBadge.vue.d.ts} +9 -9
- package/dist/components/TBadge.vue.d.ts.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/{TreeBreadcrumb.vue.d.ts → TBreadcrumb.vue.d.ts} +1 -1
- package/dist/components/TBreadcrumb.vue.d.ts.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/{TreeBreadcrumbItem.vue.d.ts → TBreadcrumbItem.vue.d.ts} +1 -1
- package/dist/components/TBreadcrumbItem.vue.d.ts.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/{TreeButton.vue.d.ts → TButton.vue.d.ts} +6 -6
- package/dist/components/TButton.vue.d.ts.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/{TreeCard.vue.d.ts → TCard.vue.d.ts} +6 -6
- package/dist/components/TCard.vue.d.ts.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/{TreeCheckbox.vue.d.ts → TCheckbox.vue.d.ts} +4 -4
- package/dist/components/TCheckbox.vue.d.ts.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/{TreeCombobox.vue.d.ts → TCombobox.vue.d.ts} +9 -9
- package/dist/components/TCombobox.vue.d.ts.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/{TreeConfirmDialog.vue.d.ts → TConfirmDialog.vue.d.ts} +6 -6
- package/dist/components/TConfirmDialog.vue.d.ts.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/{TreeContainer.vue.d.ts → TContainer.vue.d.ts} +4 -4
- package/dist/components/TContainer.vue.d.ts.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/{TreeContextMenu.vue.d.ts → TContextMenu.vue.d.ts} +9 -9
- package/dist/components/TContextMenu.vue.d.ts.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/{TreeDatePicker.vue.d.ts → TDatePicker.vue.d.ts} +4 -4
- package/dist/components/TDatePicker.vue.d.ts.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/{TreeDateTimePicker.vue.d.ts → TDateTimePicker.vue.d.ts} +4 -4
- package/dist/components/TDateTimePicker.vue.d.ts.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/{TreeDivider.vue.d.ts → TDivider.vue.d.ts} +1 -1
- package/dist/components/TDivider.vue.d.ts.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/{TreeDrawer.vue.d.ts → TDrawer.vue.d.ts} +6 -6
- package/dist/components/TDrawer.vue.d.ts.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/{TreeDropdown.vue.d.ts → TDropdown.vue.d.ts} +12 -9
- package/dist/components/TDropdown.vue.d.ts.map +1 -0
- 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/{TreeEmptyState.vue.d.ts → TEmptyState.vue.d.ts} +4 -4
- package/dist/components/TEmptyState.vue.d.ts.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/{TreeFileUpload.vue.d.ts → TFileUpload.vue.d.ts} +9 -9
- package/dist/components/TFileUpload.vue.d.ts.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/{TreeFormField.vue.d.ts → TFormField.vue.d.ts} +4 -4
- package/dist/components/TFormField.vue.d.ts.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/{TreeGrid.vue.d.ts → TGrid.vue.d.ts} +2 -2
- package/dist/components/TGrid.vue.d.ts.map +1 -0
- 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/{TreeIcon.vue.d.ts → TIcon.vue.d.ts} +3 -3
- package/dist/components/TIcon.vue.d.ts.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/{TreeInput.vue.d.ts → TInput.vue.d.ts} +4 -4
- package/dist/components/TInput.vue.d.ts.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/{TreeLink.vue.d.ts → TLink.vue.d.ts} +4 -4
- package/dist/components/TLink.vue.d.ts.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/{TreeMarkdownEditor.vue.d.ts → TMarkdownEditor.vue.d.ts} +4 -4
- package/dist/components/TMarkdownEditor.vue.d.ts.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/{TreeModal.vue.d.ts → TModal.vue.d.ts} +4 -4
- package/dist/components/TModal.vue.d.ts.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/{TreeMultiSelect.vue.d.ts → TMultiSelect.vue.d.ts} +11 -11
- package/dist/components/TMultiSelect.vue.d.ts.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/{TreeNavMenu.vue.d.ts → TNavMenu.vue.d.ts} +11 -11
- package/dist/components/TNavMenu.vue.d.ts.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/{TreeNavbar.vue.d.ts → TNavbar.vue.d.ts} +4 -4
- package/dist/components/TNavbar.vue.d.ts.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/{TreeNumberInput.vue.d.ts → TNumberInput.vue.d.ts} +4 -4
- package/dist/components/TNumberInput.vue.d.ts.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/{TreePagination.vue.d.ts → TPagination.vue.d.ts} +4 -4
- package/dist/components/TPagination.vue.d.ts.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/{TreePopover.vue.d.ts → TPopover.vue.d.ts} +4 -4
- package/dist/components/TPopover.vue.d.ts.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/{TreePricing.vue.d.ts → TPricing.vue.d.ts} +5 -5
- package/dist/components/TPricing.vue.d.ts.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/{TreePricingCard.vue.d.ts → TPricingCard.vue.d.ts} +4 -4
- package/dist/components/TPricingCard.vue.d.ts.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/{TreeProgress.vue.d.ts → TProgress.vue.d.ts} +4 -4
- package/dist/components/TProgress.vue.d.ts.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/{TreeRadio.vue.d.ts → TRadio.vue.d.ts} +4 -4
- package/dist/components/TRadio.vue.d.ts.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/{TreeRadioGroup.vue.d.ts → TRadioGroup.vue.d.ts} +4 -4
- package/dist/components/TRadioGroup.vue.d.ts.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/{TreeSelect.vue.d.ts → TSelect.vue.d.ts} +9 -7
- package/dist/components/TSelect.vue.d.ts.map +1 -0
- 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/{TreeSelectableList.vue.d.ts → TSelectableList.vue.d.ts} +9 -9
- package/dist/components/TSelectableList.vue.d.ts.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/{TreeSidebar.vue.d.ts → TSidebar.vue.d.ts} +7 -7
- package/dist/components/TSidebar.vue.d.ts.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/{TreeSkeleton.vue.d.ts → TSkeleton.vue.d.ts} +1 -1
- package/dist/components/TSkeleton.vue.d.ts.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/{TreeSpinner.vue.d.ts → TSpinner.vue.d.ts} +4 -4
- package/dist/components/TSpinner.vue.d.ts.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/{TreeStack.vue.d.ts → TStack.vue.d.ts} +5 -5
- package/dist/components/TStack.vue.d.ts.map +1 -0
- 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/{TreeStat.vue.d.ts → TStat.vue.d.ts} +7 -7
- package/dist/components/TStat.vue.d.ts.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/{TreeSteps.vue.d.ts → TSteps.vue.d.ts} +16 -16
- package/dist/components/TSteps.vue.d.ts.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/{TreeSwitch.vue.d.ts → TSwitch.vue.d.ts} +4 -4
- package/dist/components/TSwitch.vue.d.ts.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/{TreeTab.vue.d.ts → TTab.vue.d.ts} +1 -1
- package/dist/components/TTab.vue.d.ts.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/{TreeTabList.vue.d.ts → TTabList.vue.d.ts} +1 -1
- package/dist/components/TTabList.vue.d.ts.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/{TreeTabPanel.vue.d.ts → TTabPanel.vue.d.ts} +1 -1
- package/dist/components/TTabPanel.vue.d.ts.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/{TreeTable.vue.d.ts → TTable.vue.d.ts} +15 -15
- package/dist/components/TTable.vue.d.ts.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/{TreeTabs.vue.d.ts → TTabs.vue.d.ts} +4 -4
- package/dist/components/TTabs.vue.d.ts.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/{TreeTag.vue.d.ts → TTag.vue.d.ts} +7 -7
- package/dist/components/TTag.vue.d.ts.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/{TreeTextarea.vue.d.ts → TTextarea.vue.d.ts} +4 -4
- package/dist/components/TTextarea.vue.d.ts.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/{TreeTimeline.vue.d.ts → TTimeline.vue.d.ts} +13 -13
- package/dist/components/TTimeline.vue.d.ts.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/{TreeToast.vue.d.ts → TToast.vue.d.ts} +1 -1
- package/dist/components/TToast.vue.d.ts.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/{TreeToastProvider.vue.d.ts → TToastProvider.vue.d.ts} +1 -1
- package/dist/components/TToastProvider.vue.d.ts.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/{TreeToggleGroup.vue.d.ts → TToggleGroup.vue.d.ts} +15 -15
- package/dist/components/TToggleGroup.vue.d.ts.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/{TreeTooltip.vue.d.ts → TTooltip.vue.d.ts} +4 -4
- package/dist/components/TTooltip.vue.d.ts.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/{TreeTreeView.vue.d.ts → TTreeView.vue.d.ts} +6 -6
- package/dist/components/TTreeView.vue.d.ts.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/{TreeTreeViewItem.vue.d.ts → TTreeViewItem.vue.d.ts} +3 -3
- package/dist/components/TTreeViewItem.vue.d.ts.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 +81 -143
- 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.d.ts +2 -2
- package/dist/components/sidebar.d.ts.map +1 -1
- 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.d.ts +2 -2
- package/dist/components/tabs-context.d.ts.map +1 -1
- 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.d.ts +8 -8
- package/dist/components/tree-view.d.ts.map +1 -1
- 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 -6040
- package/dist/plugin.cjs +2 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.ts.map +1 -1
- 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.d.ts +5 -5
- package/dist/types/contracts.d.ts.map +1 -1
- package/dist/types/contracts.js +31 -0
- package/dist/types/contracts.js.map +1 -0
- package/package.json +5 -5
- package/dist/components/TreeAccordion.vue.d.ts.map +0 -1
- package/dist/components/TreeAccordionItem.vue.d.ts.map +0 -1
- package/dist/components/TreeAlert.vue.d.ts.map +0 -1
- package/dist/components/TreeAvatar.vue.d.ts.map +0 -1
- package/dist/components/TreeBadge.vue.d.ts.map +0 -1
- package/dist/components/TreeBreadcrumb.vue.d.ts.map +0 -1
- package/dist/components/TreeBreadcrumbItem.vue.d.ts.map +0 -1
- package/dist/components/TreeButton.vue.d.ts.map +0 -1
- package/dist/components/TreeCard.vue.d.ts.map +0 -1
- package/dist/components/TreeCheckbox.vue.d.ts.map +0 -1
- package/dist/components/TreeCombobox.vue.d.ts.map +0 -1
- package/dist/components/TreeConfirmDialog.vue.d.ts.map +0 -1
- package/dist/components/TreeContainer.vue.d.ts.map +0 -1
- package/dist/components/TreeContextMenu.vue.d.ts.map +0 -1
- package/dist/components/TreeDatePicker.vue.d.ts.map +0 -1
- package/dist/components/TreeDateTimePicker.vue.d.ts.map +0 -1
- package/dist/components/TreeDivider.vue.d.ts.map +0 -1
- package/dist/components/TreeDrawer.vue.d.ts.map +0 -1
- package/dist/components/TreeDropdown.vue.d.ts.map +0 -1
- package/dist/components/TreeEmptyState.vue.d.ts.map +0 -1
- package/dist/components/TreeFileUpload.vue.d.ts.map +0 -1
- package/dist/components/TreeFormField.vue.d.ts.map +0 -1
- package/dist/components/TreeGrid.vue.d.ts.map +0 -1
- package/dist/components/TreeIcon.vue.d.ts.map +0 -1
- package/dist/components/TreeInput.vue.d.ts.map +0 -1
- package/dist/components/TreeLink.vue.d.ts.map +0 -1
- package/dist/components/TreeMarkdownEditor.vue.d.ts.map +0 -1
- package/dist/components/TreeModal.vue.d.ts.map +0 -1
- package/dist/components/TreeMultiSelect.vue.d.ts.map +0 -1
- package/dist/components/TreeNavMenu.vue.d.ts.map +0 -1
- package/dist/components/TreeNavbar.vue.d.ts.map +0 -1
- package/dist/components/TreeNumberInput.vue.d.ts.map +0 -1
- package/dist/components/TreePagination.vue.d.ts.map +0 -1
- package/dist/components/TreePopover.vue.d.ts.map +0 -1
- package/dist/components/TreePricing.vue.d.ts.map +0 -1
- package/dist/components/TreePricingCard.vue.d.ts.map +0 -1
- package/dist/components/TreeProgress.vue.d.ts.map +0 -1
- package/dist/components/TreeRadio.vue.d.ts.map +0 -1
- package/dist/components/TreeRadioGroup.vue.d.ts.map +0 -1
- package/dist/components/TreeSelect.vue.d.ts.map +0 -1
- package/dist/components/TreeSelectableList.vue.d.ts.map +0 -1
- package/dist/components/TreeSidebar.vue.d.ts.map +0 -1
- package/dist/components/TreeSkeleton.vue.d.ts.map +0 -1
- package/dist/components/TreeSpinner.vue.d.ts.map +0 -1
- package/dist/components/TreeStack.vue.d.ts.map +0 -1
- package/dist/components/TreeStat.vue.d.ts.map +0 -1
- package/dist/components/TreeSteps.vue.d.ts.map +0 -1
- package/dist/components/TreeSwitch.vue.d.ts.map +0 -1
- package/dist/components/TreeTab.vue.d.ts.map +0 -1
- package/dist/components/TreeTabList.vue.d.ts.map +0 -1
- package/dist/components/TreeTabPanel.vue.d.ts.map +0 -1
- package/dist/components/TreeTable.vue.d.ts.map +0 -1
- package/dist/components/TreeTabs.vue.d.ts.map +0 -1
- package/dist/components/TreeTag.vue.d.ts.map +0 -1
- package/dist/components/TreeTextarea.vue.d.ts.map +0 -1
- package/dist/components/TreeTimeline.vue.d.ts.map +0 -1
- package/dist/components/TreeToast.vue.d.ts.map +0 -1
- package/dist/components/TreeToastProvider.vue.d.ts.map +0 -1
- package/dist/components/TreeToggleGroup.vue.d.ts.map +0 -1
- package/dist/components/TreeTooltip.vue.d.ts.map +0 -1
- package/dist/components/TreeTreeView.vue.d.ts.map +0 -1
- package/dist/components/TreeTreeViewItem.vue.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNavMenu.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../src/components/TNavMenu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getNextEnabledIndex, isActivationKey } from '@treeui/utils';\nimport { computed, getCurrentInstance, inject, nextTick, ref, useAttrs, watch, type Component, type ComponentPublicInstance } from 'vue';\nimport type { TSize } from '../types/contracts';\nimport { treeSidebarInjectionKey } from './sidebar';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nexport interface TNavMenuItem {\n label: string;\n value: string;\n shortLabel?: string;\n description?: string;\n icon?: Component;\n to?: string | Record<string, unknown>;\n badge?: string | number;\n disabled?: boolean;\n}\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: string;\n defaultValue?: string;\n items?: TNavMenuItem[];\n size?: TSize;\n collapsed?: boolean;\n disabled?: boolean;\n }>(),\n {\n modelValue: undefined,\n defaultValue: '',\n items: () => [],\n size: 'md',\n collapsed: undefined,\n disabled: false,\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string];\n select: [value: string, item: TNavMenuItem];\n}>();\n\ndefineSlots<{\n item?: (props: {\n item: TNavMenuItem;\n selected: boolean;\n focused: boolean;\n collapsed: boolean;\n }) => unknown;\n empty?: () => unknown;\n}>();\n\nconst attrs = useAttrs();\nconst sidebar = inject(treeSidebarInjectionKey, null);\nconst internalValue = ref(props.defaultValue);\nconst itemRefs = ref<Map<string, HTMLElement>>(new Map());\nconst instance = getCurrentInstance();\n\nconst selectedValue = computed(() => props.modelValue ?? internalValue.value);\nconst resolvedCollapsed = computed(() => props.collapsed ?? sidebar?.collapsed.value ?? false);\n\nconst routerLinkComponent = computed<Component | null>(() => (\n (instance?.appContext.components.RouterLink as Component | undefined) ?? null\n));\n\nconst itemTag = (item: TNavMenuItem) => {\n if (item.to && routerLinkComponent.value) {\n return routerLinkComponent.value;\n }\n return 'button';\n};\n\nconst getInitialFocusedIndex = () => {\n const selectedIndex = props.items.findIndex((item) =>\n item.value === selectedValue.value && !item.disabled,\n );\n\n if (selectedIndex >= 0) {\n return selectedIndex;\n }\n\n return props.items.findIndex((item) => !item.disabled);\n};\n\nconst focusedIndex = ref(getInitialFocusedIndex());\n\nconst rootClasses = computed(() => [\n 't-nav-menu',\n `t-nav-menu--${props.size}`,\n {\n 'is-collapsed': resolvedCollapsed.value,\n 'is-disabled': props.disabled,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst rootAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n\nconst isSelected = (value: string) => selectedValue.value === value;\n\nconst setItemRef = (element: Element | ComponentPublicInstance | null, value: string) => {\n const resolvedElement =\n element instanceof HTMLElement\n ? element\n : element && '$el' in element && element.$el instanceof HTMLElement\n ? element.$el\n : null;\n\n if (resolvedElement) {\n itemRefs.value.set(value, resolvedElement);\n } else {\n itemRefs.value.delete(value);\n }\n};\n\nconst focusItem = (index: number) => {\n const item = props.items[index];\n\n if (!item) {\n return;\n }\n\n focusedIndex.value = index;\n nextTick(() => itemRefs.value.get(item.value)?.focus());\n};\n\nconst selectItem = (item: TNavMenuItem) => {\n if (props.disabled || item.disabled) {\n return;\n }\n\n if (props.modelValue === undefined) {\n internalValue.value = item.value;\n }\n\n emit('update:modelValue', item.value);\n emit('select', item.value, item);\n};\n\nconst onItemKeydown = (event: KeyboardEvent, index: number) => {\n if (props.disabled) {\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n const firstIndex = props.items.findIndex((item) => !item.disabled);\n\n if (firstIndex >= 0) {\n focusItem(firstIndex);\n }\n\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n const lastIndex = [...props.items].reverse().findIndex((item) => !item.disabled);\n\n if (lastIndex >= 0) {\n focusItem(props.items.length - 1 - lastIndex);\n }\n\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n const nextIndex = getNextEnabledIndex(index, props.items, 1);\n\n if (nextIndex >= 0) {\n focusItem(nextIndex);\n }\n\n return;\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n const previousIndex = getNextEnabledIndex(index, props.items, -1);\n\n if (previousIndex >= 0) {\n focusItem(previousIndex);\n }\n\n return;\n }\n\n if (isActivationKey(event)) {\n event.preventDefault();\n selectItem(props.items[index]);\n }\n};\n\nconst getTabIndex = (index: number) => (focusedIndex.value === index ? 0 : -1);\n\nwatch(\n () => [props.items, props.modelValue] as const,\n () => {\n const nextIndex = getInitialFocusedIndex();\n focusedIndex.value = nextIndex >= 0 ? nextIndex : -1;\n },\n { deep: true },\n);\n</script>\n\n<template>\n <nav\n v-bind=\"rootAttrs\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <ul\n v-if=\"items.length > 0\"\n class=\"t-nav-menu__list\"\n >\n <li\n v-for=\"(item, index) in items\"\n :key=\"item.value\"\n class=\"t-nav-menu__entry\"\n >\n <component\n :is=\"itemTag(item)\"\n :ref=\"(element: Element | ComponentPublicInstance | null) => setItemRef(element, item.value)\"\n :type=\"item.to ? undefined : 'button'\"\n :to=\"item.to || undefined\"\n class=\"t-nav-menu__item\"\n :class=\"{\n 'is-selected': isSelected(item.value),\n 'is-disabled': disabled || item.disabled,\n }\"\n :disabled=\"(!item.to && (disabled || item.disabled)) || undefined\"\n :aria-disabled=\"(item.to && (disabled || item.disabled)) || undefined\"\n :aria-current=\"isSelected(item.value) ? 'page' : undefined\"\n :tabindex=\"disabled || item.disabled ? -1 : getTabIndex(index)\"\n :title=\"resolvedCollapsed ? item.label : undefined\"\n @click=\"selectItem(item)\"\n @keydown=\"onItemKeydown($event, index)\"\n @focus=\"focusedIndex = index\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :selected=\"isSelected(item.value)\"\n :focused=\"focusedIndex === index\"\n :collapsed=\"resolvedCollapsed\"\n >\n <component\n :is=\"item.icon\"\n v-if=\"item.icon\"\n class=\"t-nav-menu__icon\"\n aria-hidden=\"true\"\n />\n <span\n v-else\n class=\"t-nav-menu__marker\"\n aria-hidden=\"true\"\n >\n {{ (item.shortLabel ?? item.label.charAt(0)).toUpperCase() }}\n </span>\n\n <span class=\"t-nav-menu__copy\">\n <span class=\"t-nav-menu__label\">{{ item.label }}</span>\n <span\n v-if=\"item.description\"\n class=\"t-nav-menu__description\"\n >\n {{ item.description }}\n </span>\n </span>\n\n <span\n v-if=\"item.badge !== undefined && item.badge !== null\"\n class=\"t-nav-menu__badge\"\n >\n {{ item.badge }}\n </span>\n </slot>\n </component>\n </li>\n </ul>\n\n <div\n v-else\n class=\"t-nav-menu__empty\"\n >\n <slot name=\"empty\">\n No navigation items.\n </slot>\n </div>\n </nav>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNavbar.cjs","names":[],"sources":["../../src/components/TNavbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n as?: string;\n size?: TSize;\n sticky?: boolean;\n bordered?: boolean;\n elevated?: boolean;\n }>(),\n {\n as: 'header',\n size: 'md',\n sticky: false,\n bordered: true,\n elevated: false,\n },\n);\n\nconst attrs = useAttrs();\n\nconst rootClasses = computed(() => [\n 't-navbar',\n `t-navbar--${props.size}`,\n {\n 'is-sticky': props.sticky,\n 'is-bordered': props.bordered,\n 'is-elevated': props.elevated,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst rootAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n</script>\n\n<template>\n <component\n :is=\"as\"\n v-bind=\"rootAttrs\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <div class=\"t-navbar__inner\">\n <div\n v-if=\"$slots.start\"\n class=\"t-navbar__section t-navbar__section--start\"\n >\n <slot name=\"start\" />\n </div>\n\n <div\n v-if=\"$slots.default || $slots.center\"\n class=\"t-navbar__section t-navbar__section--center\"\n >\n <slot name=\"center\">\n <slot />\n </slot>\n </div>\n\n <div\n v-if=\"$slots.end\"\n class=\"t-navbar__section t-navbar__section--end\"\n >\n <slot name=\"end\" />\n </div>\n </div>\n </component>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNavbar.js","names":[],"sources":["../../src/components/TNavbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n as?: string;\n size?: TSize;\n sticky?: boolean;\n bordered?: boolean;\n elevated?: boolean;\n }>(),\n {\n as: 'header',\n size: 'md',\n sticky: false,\n bordered: true,\n elevated: false,\n },\n);\n\nconst attrs = useAttrs();\n\nconst rootClasses = computed(() => [\n 't-navbar',\n `t-navbar--${props.size}`,\n {\n 'is-sticky': props.sticky,\n 'is-bordered': props.bordered,\n 'is-elevated': props.elevated,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst rootAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n</script>\n\n<template>\n <component\n :is=\"as\"\n v-bind=\"rootAttrs\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <div class=\"t-navbar__inner\">\n <div\n v-if=\"$slots.start\"\n class=\"t-navbar__section t-navbar__section--start\"\n >\n <slot name=\"start\" />\n </div>\n\n <div\n v-if=\"$slots.default || $slots.center\"\n class=\"t-navbar__section t-navbar__section--center\"\n >\n <slot name=\"center\">\n <slot />\n </slot>\n </div>\n\n <div\n v-if=\"$slots.end\"\n class=\"t-navbar__section t-navbar__section--end\"\n >\n <slot name=\"end\" />\n </div>\n </div>\n </component>\n</template>\n"],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TSize } from '../types/contracts';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
as?: string;
|
|
4
|
-
size?:
|
|
4
|
+
size?: TSize;
|
|
5
5
|
sticky?: boolean;
|
|
6
6
|
bordered?: boolean;
|
|
7
7
|
elevated?: boolean;
|
|
@@ -19,7 +19,7 @@ declare function __VLS_template(): {
|
|
|
19
19
|
};
|
|
20
20
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
21
21
|
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
22
|
-
size:
|
|
22
|
+
size: TSize;
|
|
23
23
|
as: string;
|
|
24
24
|
sticky: boolean;
|
|
25
25
|
bordered: boolean;
|
|
@@ -32,4 +32,4 @@ type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
32
32
|
$slots: S;
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=TNavbar.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNavbar.vue.d.ts","sourceRoot":"","sources":["../../src/components/TNavbar.vue"],"names":[],"mappings":"AAkFA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMhD,KAAK,WAAW,GAAG;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAyCJ,iBAAS,cAAc;WA+DT,OAAO,IAA6B;;uBAbvB,GAAG;wBACF,GAAG;yBACF,GAAG;qBACP,GAAG;;;;EAe3B;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;UA9HV,KAAK;QADP,MAAM;YAEF,OAAO;cACL,OAAO;cACP,OAAO;6EAkIpB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("vue");var t={class:`t-navbar__inner`},n={key:0,class:`t-navbar__section t-navbar__section--start`},r={key:1,class:`t-navbar__section t-navbar__section--center`},i={key:2,class:`t-navbar__section t-navbar__section--end`},a=(0,e.defineComponent)({inheritAttrs:!1,__name:`TNavbar`,props:{as:{default:`header`},size:{default:`md`},sticky:{type:Boolean,default:!1},bordered:{type:Boolean,default:!0},elevated:{type:Boolean,default:!1}},setup(a){let o=a,s=(0,e.useAttrs)(),c=(0,e.computed)(()=>[`t-navbar`,`t-navbar--${o.size}`,{"is-sticky":o.sticky,"is-bordered":o.bordered,"is-elevated":o.elevated},s.class]),l=(0,e.computed)(()=>s.style),u=(0,e.computed)(()=>{let{class:e,style:t,...n}=s;return n});return(o,s)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(a.as),(0,e.mergeProps)(u.value,{class:c.value,style:l.value}),{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,t,[o.$slots.start?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,n,[(0,e.renderSlot)(o.$slots,`start`)])):(0,e.createCommentVNode)(``,!0),o.$slots.default||o.$slots.center?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,r,[(0,e.renderSlot)(o.$slots,`center`,{},()=>[(0,e.renderSlot)(o.$slots,`default`)])])):(0,e.createCommentVNode)(``,!0),o.$slots.end?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,i,[(0,e.renderSlot)(o.$slots,`end`)])):(0,e.createCommentVNode)(``,!0)])]),_:3},16,[`class`,`style`]))}});exports.default=a;
|
|
2
|
+
//# sourceMappingURL=TNavbar.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNavbar.vue_vue_type_script_setup_true_lang.cjs","names":["$slots"],"sources":["../../src/components/TNavbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n as?: string;\n size?: TSize;\n sticky?: boolean;\n bordered?: boolean;\n elevated?: boolean;\n }>(),\n {\n as: 'header',\n size: 'md',\n sticky: false,\n bordered: true,\n elevated: false,\n },\n);\n\nconst attrs = useAttrs();\n\nconst rootClasses = computed(() => [\n 't-navbar',\n `t-navbar--${props.size}`,\n {\n 'is-sticky': props.sticky,\n 'is-bordered': props.bordered,\n 'is-elevated': props.elevated,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst rootAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n</script>\n\n<template>\n <component\n :is=\"as\"\n v-bind=\"rootAttrs\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <div class=\"t-navbar__inner\">\n <div\n v-if=\"$slots.start\"\n class=\"t-navbar__section t-navbar__section--start\"\n >\n <slot name=\"start\" />\n </div>\n\n <div\n v-if=\"$slots.default || $slots.center\"\n class=\"t-navbar__section t-navbar__section--center\"\n >\n <slot name=\"center\">\n <slot />\n </slot>\n </div>\n\n <div\n v-if=\"$slots.end\"\n class=\"t-navbar__section t-navbar__section--end\"\n >\n <slot name=\"end\" />\n </div>\n </div>\n </component>\n</template>\n"],"mappings":"ucAQA,IAAM,EAAQ,EAiBR,GAAA,EAAA,EAAA,SAAA,CAAiB,EAEjB,GAAA,EAAA,EAAA,SAAA,KAA6B,CACjC,WACA,aAAa,EAAM,OACnB,CACE,YAAa,EAAM,OACnB,cAAe,EAAM,SACrB,cAAe,EAAM,QACvB,EACA,EAAM,KACR,CAAC,EAEK,GAAA,EAAA,EAAA,SAAA,KAA2B,EAAM,KAAK,EAEtC,GAAA,EAAA,EAAA,SAAA,KAA2B,CAC/B,GAAM,CAAE,MAAO,EAAQ,MAAO,EAAQ,GAAG,GAAS,EAClD,OAAO,CACT,CAAC,kFAKQ,EAAA,EAAE,GAAA,EAAA,EAAA,WAAA,CACC,EA4BE,MA5BO,CAChB,MAAO,EAAA,MACP,MAAO,EAAA,mCAyBF,EAAA,EAAA,EAAA,mBAAA,CAAA,MAvBN,EAuBM,CArBIA,EAAAA,OAAO,QAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAIT,MALN,EAKM,EAAA,EAAA,EAAA,WAAA,CADiB,EAAA,OAAA,OAAA,CAAA,CAAA,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,EAIfA,EAAAA,OAAO,SAAWA,EAAAA,OAAO,SAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAM3B,MAPN,EAOM,EAAA,EAAA,EAAA,WAAA,CADG,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,EAAA,EAAA,WAAA,CADG,EAAA,OAAA,SAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,EAKJA,EAAAA,OAAO,MAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAIT,MALN,EAKM,EAAA,EAAA,EAAA,WAAA,CADe,EAAA,OAAA,KAAA,CAAA,CAAA,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { computed as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, mergeProps as o, openBlock as s, renderSlot as c, resolveDynamicComponent as l, useAttrs as u, withCtx as d } from "vue";
|
|
2
|
+
//#region src/components/TNavbar.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var f = { class: "t-navbar__inner" }, p = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "t-navbar__section t-navbar__section--start"
|
|
6
|
+
}, m = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "t-navbar__section t-navbar__section--center"
|
|
9
|
+
}, h = {
|
|
10
|
+
key: 2,
|
|
11
|
+
class: "t-navbar__section t-navbar__section--end"
|
|
12
|
+
}, g = /*@__PURE__*/ a({
|
|
13
|
+
inheritAttrs: !1,
|
|
14
|
+
__name: "TNavbar",
|
|
15
|
+
props: {
|
|
16
|
+
as: { default: "header" },
|
|
17
|
+
size: { default: "md" },
|
|
18
|
+
sticky: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: !1
|
|
21
|
+
},
|
|
22
|
+
bordered: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: !0
|
|
25
|
+
},
|
|
26
|
+
elevated: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: !1
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
setup(a) {
|
|
32
|
+
let g = a, _ = u(), v = e(() => [
|
|
33
|
+
"t-navbar",
|
|
34
|
+
`t-navbar--${g.size}`,
|
|
35
|
+
{
|
|
36
|
+
"is-sticky": g.sticky,
|
|
37
|
+
"is-bordered": g.bordered,
|
|
38
|
+
"is-elevated": g.elevated
|
|
39
|
+
},
|
|
40
|
+
_.class
|
|
41
|
+
]), y = e(() => _.style), b = e(() => {
|
|
42
|
+
let { class: e, style: t, ...n } = _;
|
|
43
|
+
return n;
|
|
44
|
+
});
|
|
45
|
+
return (e, u) => (s(), t(l(a.as), o(b.value, {
|
|
46
|
+
class: v.value,
|
|
47
|
+
style: y.value
|
|
48
|
+
}), {
|
|
49
|
+
default: d(() => [i("div", f, [
|
|
50
|
+
e.$slots.start ? (s(), r("div", p, [c(e.$slots, "start")])) : n("", !0),
|
|
51
|
+
e.$slots.default || e.$slots.center ? (s(), r("div", m, [c(e.$slots, "center", {}, () => [c(e.$slots, "default")])])) : n("", !0),
|
|
52
|
+
e.$slots.end ? (s(), r("div", h, [c(e.$slots, "end")])) : n("", !0)
|
|
53
|
+
])]),
|
|
54
|
+
_: 3
|
|
55
|
+
}, 16, ["class", "style"]));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//#endregion
|
|
59
|
+
export { g as default };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=TNavbar.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNavbar.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../src/components/TNavbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n as?: string;\n size?: TSize;\n sticky?: boolean;\n bordered?: boolean;\n elevated?: boolean;\n }>(),\n {\n as: 'header',\n size: 'md',\n sticky: false,\n bordered: true,\n elevated: false,\n },\n);\n\nconst attrs = useAttrs();\n\nconst rootClasses = computed(() => [\n 't-navbar',\n `t-navbar--${props.size}`,\n {\n 'is-sticky': props.sticky,\n 'is-bordered': props.bordered,\n 'is-elevated': props.elevated,\n },\n attrs.class,\n]);\n\nconst rootStyle = computed(() => attrs.style);\n\nconst rootAttrs = computed(() => {\n const { class: _class, style: _style, ...rest } = attrs;\n return rest;\n});\n</script>\n\n<template>\n <component\n :is=\"as\"\n v-bind=\"rootAttrs\"\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <div class=\"t-navbar__inner\">\n <div\n v-if=\"$slots.start\"\n class=\"t-navbar__section t-navbar__section--start\"\n >\n <slot name=\"start\" />\n </div>\n\n <div\n v-if=\"$slots.default || $slots.center\"\n class=\"t-navbar__section t-navbar__section--center\"\n >\n <slot name=\"center\">\n <slot />\n </slot>\n </div>\n\n <div\n v-if=\"$slots.end\"\n class=\"t-navbar__section t-navbar__section--end\"\n >\n <slot name=\"end\" />\n </div>\n </div>\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQA,IAAM,IAAQ,GAiBR,IAAQ,EAAS,GAEjB,IAAc,QAAe;GACjC;GACA,aAAa,EAAM;GACnB;IACE,aAAa,EAAM;IACnB,eAAe,EAAM;IACrB,eAAe,EAAM;GACvB;GACA,EAAM;EACR,CAAC,GAEK,IAAY,QAAe,EAAM,KAAK,GAEtC,IAAY,QAAe;GAC/B,IAAM,EAAE,OAAO,GAAQ,OAAO,GAAQ,GAAG,MAAS;GAClD,OAAO;EACT,CAAC;yBAIC,EA8BY,EA7BL,EAAA,EAAE,GADT,EAEU,EA4BE,OA5BO;GAChB,OAAO,EAAA;GACP,OAAO,EAAA;;oBAyBF,CAvBN,EAuBM,OAvBN,GAuBM;IArBIA,EAAAA,OAAO,SAAA,EAAA,GADf,EAKM,OALN,GAKM,CADJ,EAAqB,EAAA,QAAA,OAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;IAIfA,EAAAA,OAAO,WAAWA,EAAAA,OAAO,UAAA,EAAA,GADjC,EAOM,OAPN,GAOM,CAHJ,EAEO,EAAA,QAAA,UAAA,CAAA,SAAA,CADL,EAAQ,EAAA,QAAA,SAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;IAKJA,EAAAA,OAAO,OAAA,EAAA,GADf,EAKM,OALN,GAKM,CADJ,EAAmB,EAAA,QAAA,KAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNumberInput.cjs","names":[],"sources":["../../src/components/TNumberInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { clamp } from '@treeui/utils';\nimport { computed, ref, useAttrs, watch } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: number | null;\n min?: number;\n max?: number;\n step?: number;\n size?: TSize;\n disabled?: boolean;\n invalid?: boolean;\n placeholder?: string;\n controls?: boolean;\n }>(),\n {\n modelValue: null,\n min: undefined,\n max: undefined,\n step: 1,\n size: 'md',\n disabled: false,\n invalid: false,\n placeholder: '',\n controls: true,\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number | null];\n}>();\n\nconst attrs = useAttrs();\nconst displayValue = ref(\n props.modelValue === null || props.modelValue === undefined ? '' : `${props.modelValue}`,\n);\n\nconst precision = computed(() => {\n const normalizedStep = `${props.step}`;\n const fractionalPart = normalizedStep.split('.')[1];\n return fractionalPart ? fractionalPart.length : 0;\n});\n\nconst rootClasses = computed(() => [\n 't-number-input',\n `t-number-input--${props.size}`,\n {\n 'is-disabled': props.disabled,\n 'is-invalid': props.invalid,\n 'has-controls': props.controls,\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 formatValue = (value: number | null | undefined) =>\n value === null || value === undefined ? '' : `${value}`;\n\nconst normalizeValue = (value: number) => {\n const clamped = clamp(\n value,\n props.min ?? Number.NEGATIVE_INFINITY,\n props.max ?? Number.POSITIVE_INFINITY,\n );\n\n return Number(clamped.toFixed(precision.value));\n};\n\nconst parseValue = (value: string) => {\n const normalized = value.trim().replace(',', '.');\n\n if (!normalized) {\n return null;\n }\n\n const parsed = Number(normalized);\n return Number.isNaN(parsed) ? null : parsed;\n};\n\nconst currentNumericValue = computed(() => {\n const parsed = parseValue(displayValue.value);\n return parsed ?? props.modelValue ?? null;\n});\n\nconst canDecrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.min === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) > props.min;\n});\n\nconst canIncrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.max === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) < props.max;\n});\n\nconst commitValue = (value: number | null) => {\n if (value === null) {\n displayValue.value = '';\n emit('update:modelValue', null);\n return;\n }\n\n const normalized = normalizeValue(value);\n displayValue.value = `${normalized}`;\n emit('update:modelValue', normalized);\n};\n\nconst stepValue = (direction: 1 | -1) => {\n if (props.disabled) {\n return;\n }\n\n let baseValue = currentNumericValue.value ?? 0;\n\n if (currentNumericValue.value === null) {\n if (direction === 1 && props.min !== undefined) {\n baseValue = props.min - props.step;\n }\n\n if (direction === -1 && props.max !== undefined) {\n baseValue = props.max + props.step;\n }\n }\n\n commitValue(baseValue + direction * props.step);\n};\n\nconst onInput = (event: Event) => {\n const nextValue = (event.target as HTMLInputElement).value;\n displayValue.value = nextValue;\n\n if (!nextValue.trim()) {\n emit('update:modelValue', null);\n return;\n }\n\n const parsedValue = parseValue(nextValue);\n\n if (parsedValue === null) {\n return;\n }\n\n emit('update:modelValue', normalizeValue(parsedValue));\n};\n\nconst onBlur = () => {\n if (!displayValue.value.trim()) {\n displayValue.value = '';\n return;\n }\n\n const parsedValue = parseValue(displayValue.value);\n\n if (parsedValue === null) {\n displayValue.value = formatValue(props.modelValue);\n return;\n }\n\n displayValue.value = `${normalizeValue(parsedValue)}`;\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n stepValue(1);\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n stepValue(-1);\n return;\n }\n\n if (event.key === 'Home' && props.min !== undefined) {\n event.preventDefault();\n commitValue(props.min);\n return;\n }\n\n if (event.key === 'End' && props.max !== undefined) {\n event.preventDefault();\n commitValue(props.max);\n }\n};\n\nwatch(\n () => props.modelValue,\n (value) => {\n const nextDisplayValue = formatValue(value);\n\n if (nextDisplayValue !== displayValue.value) {\n displayValue.value = nextDisplayValue;\n }\n },\n);\n</script>\n\n<template>\n <div\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--decrement\"\n :disabled=\"!canDecrement\"\n aria-label=\"Decrease value\"\n @click=\"stepValue(-1)\"\n >\n <span aria-hidden=\"true\">-</span>\n </button>\n\n <input\n v-bind=\"inputAttrs\"\n :value=\"displayValue\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"t-number-input__field\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :aria-invalid=\"invalid || undefined\"\n @input=\"onInput\"\n @blur=\"onBlur\"\n @keydown=\"onKeydown\"\n >\n\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--increment\"\n :disabled=\"!canIncrement\"\n aria-label=\"Increase value\"\n @click=\"stepValue(1)\"\n >\n <span aria-hidden=\"true\">+</span>\n </button>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNumberInput.js","names":[],"sources":["../../src/components/TNumberInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { clamp } from '@treeui/utils';\nimport { computed, ref, useAttrs, watch } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: number | null;\n min?: number;\n max?: number;\n step?: number;\n size?: TSize;\n disabled?: boolean;\n invalid?: boolean;\n placeholder?: string;\n controls?: boolean;\n }>(),\n {\n modelValue: null,\n min: undefined,\n max: undefined,\n step: 1,\n size: 'md',\n disabled: false,\n invalid: false,\n placeholder: '',\n controls: true,\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number | null];\n}>();\n\nconst attrs = useAttrs();\nconst displayValue = ref(\n props.modelValue === null || props.modelValue === undefined ? '' : `${props.modelValue}`,\n);\n\nconst precision = computed(() => {\n const normalizedStep = `${props.step}`;\n const fractionalPart = normalizedStep.split('.')[1];\n return fractionalPart ? fractionalPart.length : 0;\n});\n\nconst rootClasses = computed(() => [\n 't-number-input',\n `t-number-input--${props.size}`,\n {\n 'is-disabled': props.disabled,\n 'is-invalid': props.invalid,\n 'has-controls': props.controls,\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 formatValue = (value: number | null | undefined) =>\n value === null || value === undefined ? '' : `${value}`;\n\nconst normalizeValue = (value: number) => {\n const clamped = clamp(\n value,\n props.min ?? Number.NEGATIVE_INFINITY,\n props.max ?? Number.POSITIVE_INFINITY,\n );\n\n return Number(clamped.toFixed(precision.value));\n};\n\nconst parseValue = (value: string) => {\n const normalized = value.trim().replace(',', '.');\n\n if (!normalized) {\n return null;\n }\n\n const parsed = Number(normalized);\n return Number.isNaN(parsed) ? null : parsed;\n};\n\nconst currentNumericValue = computed(() => {\n const parsed = parseValue(displayValue.value);\n return parsed ?? props.modelValue ?? null;\n});\n\nconst canDecrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.min === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) > props.min;\n});\n\nconst canIncrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.max === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) < props.max;\n});\n\nconst commitValue = (value: number | null) => {\n if (value === null) {\n displayValue.value = '';\n emit('update:modelValue', null);\n return;\n }\n\n const normalized = normalizeValue(value);\n displayValue.value = `${normalized}`;\n emit('update:modelValue', normalized);\n};\n\nconst stepValue = (direction: 1 | -1) => {\n if (props.disabled) {\n return;\n }\n\n let baseValue = currentNumericValue.value ?? 0;\n\n if (currentNumericValue.value === null) {\n if (direction === 1 && props.min !== undefined) {\n baseValue = props.min - props.step;\n }\n\n if (direction === -1 && props.max !== undefined) {\n baseValue = props.max + props.step;\n }\n }\n\n commitValue(baseValue + direction * props.step);\n};\n\nconst onInput = (event: Event) => {\n const nextValue = (event.target as HTMLInputElement).value;\n displayValue.value = nextValue;\n\n if (!nextValue.trim()) {\n emit('update:modelValue', null);\n return;\n }\n\n const parsedValue = parseValue(nextValue);\n\n if (parsedValue === null) {\n return;\n }\n\n emit('update:modelValue', normalizeValue(parsedValue));\n};\n\nconst onBlur = () => {\n if (!displayValue.value.trim()) {\n displayValue.value = '';\n return;\n }\n\n const parsedValue = parseValue(displayValue.value);\n\n if (parsedValue === null) {\n displayValue.value = formatValue(props.modelValue);\n return;\n }\n\n displayValue.value = `${normalizeValue(parsedValue)}`;\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n stepValue(1);\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n stepValue(-1);\n return;\n }\n\n if (event.key === 'Home' && props.min !== undefined) {\n event.preventDefault();\n commitValue(props.min);\n return;\n }\n\n if (event.key === 'End' && props.max !== undefined) {\n event.preventDefault();\n commitValue(props.max);\n }\n};\n\nwatch(\n () => props.modelValue,\n (value) => {\n const nextDisplayValue = formatValue(value);\n\n if (nextDisplayValue !== displayValue.value) {\n displayValue.value = nextDisplayValue;\n }\n },\n);\n</script>\n\n<template>\n <div\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--decrement\"\n :disabled=\"!canDecrement\"\n aria-label=\"Decrease value\"\n @click=\"stepValue(-1)\"\n >\n <span aria-hidden=\"true\">-</span>\n </button>\n\n <input\n v-bind=\"inputAttrs\"\n :value=\"displayValue\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"t-number-input__field\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :aria-invalid=\"invalid || undefined\"\n @input=\"onInput\"\n @blur=\"onBlur\"\n @keydown=\"onKeydown\"\n >\n\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--increment\"\n :disabled=\"!canIncrement\"\n aria-label=\"Increase value\"\n @click=\"stepValue(1)\"\n >\n <span aria-hidden=\"true\">+</span>\n </button>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TSize } from '../types/contracts';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
modelValue?: number | null;
|
|
4
4
|
min?: number;
|
|
5
5
|
max?: number;
|
|
6
6
|
step?: number;
|
|
7
|
-
size?:
|
|
7
|
+
size?: TSize;
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
invalid?: boolean;
|
|
10
10
|
placeholder?: string;
|
|
@@ -17,7 +17,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
17
17
|
}>, {
|
|
18
18
|
modelValue: number | null;
|
|
19
19
|
disabled: boolean;
|
|
20
|
-
size:
|
|
20
|
+
size: TSize;
|
|
21
21
|
step: number;
|
|
22
22
|
invalid: boolean;
|
|
23
23
|
placeholder: string;
|
|
@@ -26,4 +26,4 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
26
26
|
controls: boolean;
|
|
27
27
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
28
28
|
export default _default;
|
|
29
|
-
//# sourceMappingURL=
|
|
29
|
+
//# sourceMappingURL=TNumberInput.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNumberInput.vue.d.ts","sourceRoot":"","sources":["../../src/components/TNumberInput.vue"],"names":[],"mappings":"AAiRA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMhD,KAAK,WAAW,GAAG;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;;;;;gBATa,MAAM,GAAG,IAAI;cAKf,OAAO;UADX,KAAK;UADL,MAAM;aAGH,OAAO;iBACH,MAAM;SANd,MAAM;SACN,MAAM;cAMD,OAAO;;AA0TtB,wBAQG"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("vue"),t=require("@treeui/utils");var n=[`disabled`],r=[`value`,`placeholder`,`disabled`,`aria-invalid`],i=[`disabled`],a=(0,e.defineComponent)({inheritAttrs:!1,__name:`TNumberInput`,props:{modelValue:{default:null},min:{default:void 0},max:{default:void 0},step:{default:1},size:{default:`md`},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},placeholder:{default:``},controls:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(a,{emit:o}){let s=a,c=o,l=(0,e.useAttrs)(),u=(0,e.ref)(s.modelValue===null||s.modelValue===void 0?``:`${s.modelValue}`),d=(0,e.computed)(()=>{let e=`${s.step}`.split(`.`)[1];return e?e.length:0}),f=(0,e.computed)(()=>[`t-number-input`,`t-number-input--${s.size}`,{"is-disabled":s.disabled,"is-invalid":s.invalid,"has-controls":s.controls},l.class]),p=(0,e.computed)(()=>l.style),m=(0,e.computed)(()=>{let{class:e,style:t,...n}=l;return n}),h=e=>e==null?``:`${e}`,g=e=>{let n=(0,t.clamp)(e,s.min??-1/0,s.max??1/0);return Number(n.toFixed(d.value))},_=e=>{let t=e.trim().replace(`,`,`.`);if(!t)return null;let n=Number(t);return Number.isNaN(n)?null:n},v=(0,e.computed)(()=>_(u.value)??s.modelValue??null),y=(0,e.computed)(()=>s.disabled?!1:s.min===void 0||v.value===null||g(v.value)>s.min),b=(0,e.computed)(()=>s.disabled?!1:s.max===void 0||v.value===null||g(v.value)<s.max),x=e=>{if(e===null){u.value=``,c(`update:modelValue`,null);return}let t=g(e);u.value=`${t}`,c(`update:modelValue`,t)},S=e=>{if(s.disabled)return;let t=v.value??0;v.value===null&&(e===1&&s.min!==void 0&&(t=s.min-s.step),e===-1&&s.max!==void 0&&(t=s.max+s.step)),x(t+e*s.step)},C=e=>{let t=e.target.value;if(u.value=t,!t.trim()){c(`update:modelValue`,null);return}let n=_(t);n!==null&&c(`update:modelValue`,g(n))},w=()=>{if(!u.value.trim()){u.value=``;return}let e=_(u.value);if(e===null){u.value=h(s.modelValue);return}u.value=`${g(e)}`},T=e=>{if(!s.disabled){if(e.key===`ArrowUp`){e.preventDefault(),S(1);return}if(e.key===`ArrowDown`){e.preventDefault(),S(-1);return}if(e.key===`Home`&&s.min!==void 0){e.preventDefault(),x(s.min);return}e.key===`End`&&s.max!==void 0&&(e.preventDefault(),x(s.max))}};return(0,e.watch)(()=>s.modelValue,e=>{let t=h(e);t!==u.value&&(u.value=t)}),(t,o)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)(f.value),style:(0,e.normalizeStyle)(p.value)},[a.controls?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`t-number-input__stepper t-number-input__stepper--decrement`,disabled:!y.value,"aria-label":`Decrease value`,onClick:o[0]||=e=>S(-1)},[...o[2]||=[(0,e.createElementVNode)(`span`,{"aria-hidden":`true`},`-`,-1)]],8,n)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`input`,(0,e.mergeProps)(m.value,{value:u.value,type:`text`,inputmode:`decimal`,class:`t-number-input__field`,placeholder:a.placeholder,disabled:a.disabled,"aria-invalid":a.invalid||void 0,onInput:C,onBlur:w,onKeydown:T}),null,16,r),a.controls?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,type:`button`,class:`t-number-input__stepper t-number-input__stepper--increment`,disabled:!b.value,"aria-label":`Increase value`,onClick:o[1]||=e=>S(1)},[...o[3]||=[(0,e.createElementVNode)(`span`,{"aria-hidden":`true`},`+`,-1)]],8,i)):(0,e.createCommentVNode)(``,!0)],6))}});exports.default=a;
|
|
2
|
+
//# sourceMappingURL=TNumberInput.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNumberInput.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../src/components/TNumberInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { clamp } from '@treeui/utils';\nimport { computed, ref, useAttrs, watch } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: number | null;\n min?: number;\n max?: number;\n step?: number;\n size?: TSize;\n disabled?: boolean;\n invalid?: boolean;\n placeholder?: string;\n controls?: boolean;\n }>(),\n {\n modelValue: null,\n min: undefined,\n max: undefined,\n step: 1,\n size: 'md',\n disabled: false,\n invalid: false,\n placeholder: '',\n controls: true,\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number | null];\n}>();\n\nconst attrs = useAttrs();\nconst displayValue = ref(\n props.modelValue === null || props.modelValue === undefined ? '' : `${props.modelValue}`,\n);\n\nconst precision = computed(() => {\n const normalizedStep = `${props.step}`;\n const fractionalPart = normalizedStep.split('.')[1];\n return fractionalPart ? fractionalPart.length : 0;\n});\n\nconst rootClasses = computed(() => [\n 't-number-input',\n `t-number-input--${props.size}`,\n {\n 'is-disabled': props.disabled,\n 'is-invalid': props.invalid,\n 'has-controls': props.controls,\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 formatValue = (value: number | null | undefined) =>\n value === null || value === undefined ? '' : `${value}`;\n\nconst normalizeValue = (value: number) => {\n const clamped = clamp(\n value,\n props.min ?? Number.NEGATIVE_INFINITY,\n props.max ?? Number.POSITIVE_INFINITY,\n );\n\n return Number(clamped.toFixed(precision.value));\n};\n\nconst parseValue = (value: string) => {\n const normalized = value.trim().replace(',', '.');\n\n if (!normalized) {\n return null;\n }\n\n const parsed = Number(normalized);\n return Number.isNaN(parsed) ? null : parsed;\n};\n\nconst currentNumericValue = computed(() => {\n const parsed = parseValue(displayValue.value);\n return parsed ?? props.modelValue ?? null;\n});\n\nconst canDecrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.min === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) > props.min;\n});\n\nconst canIncrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.max === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) < props.max;\n});\n\nconst commitValue = (value: number | null) => {\n if (value === null) {\n displayValue.value = '';\n emit('update:modelValue', null);\n return;\n }\n\n const normalized = normalizeValue(value);\n displayValue.value = `${normalized}`;\n emit('update:modelValue', normalized);\n};\n\nconst stepValue = (direction: 1 | -1) => {\n if (props.disabled) {\n return;\n }\n\n let baseValue = currentNumericValue.value ?? 0;\n\n if (currentNumericValue.value === null) {\n if (direction === 1 && props.min !== undefined) {\n baseValue = props.min - props.step;\n }\n\n if (direction === -1 && props.max !== undefined) {\n baseValue = props.max + props.step;\n }\n }\n\n commitValue(baseValue + direction * props.step);\n};\n\nconst onInput = (event: Event) => {\n const nextValue = (event.target as HTMLInputElement).value;\n displayValue.value = nextValue;\n\n if (!nextValue.trim()) {\n emit('update:modelValue', null);\n return;\n }\n\n const parsedValue = parseValue(nextValue);\n\n if (parsedValue === null) {\n return;\n }\n\n emit('update:modelValue', normalizeValue(parsedValue));\n};\n\nconst onBlur = () => {\n if (!displayValue.value.trim()) {\n displayValue.value = '';\n return;\n }\n\n const parsedValue = parseValue(displayValue.value);\n\n if (parsedValue === null) {\n displayValue.value = formatValue(props.modelValue);\n return;\n }\n\n displayValue.value = `${normalizeValue(parsedValue)}`;\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n stepValue(1);\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n stepValue(-1);\n return;\n }\n\n if (event.key === 'Home' && props.min !== undefined) {\n event.preventDefault();\n commitValue(props.min);\n return;\n }\n\n if (event.key === 'End' && props.max !== undefined) {\n event.preventDefault();\n commitValue(props.max);\n }\n};\n\nwatch(\n () => props.modelValue,\n (value) => {\n const nextDisplayValue = formatValue(value);\n\n if (nextDisplayValue !== displayValue.value) {\n displayValue.value = nextDisplayValue;\n }\n },\n);\n</script>\n\n<template>\n <div\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--decrement\"\n :disabled=\"!canDecrement\"\n aria-label=\"Decrease value\"\n @click=\"stepValue(-1)\"\n >\n <span aria-hidden=\"true\">-</span>\n </button>\n\n <input\n v-bind=\"inputAttrs\"\n :value=\"displayValue\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"t-number-input__field\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :aria-invalid=\"invalid || undefined\"\n @input=\"onInput\"\n @blur=\"onBlur\"\n @keydown=\"onKeydown\"\n >\n\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--increment\"\n :disabled=\"!canIncrement\"\n aria-label=\"Increase value\"\n @click=\"stepValue(1)\"\n >\n <span aria-hidden=\"true\">+</span>\n </button>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { computed as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, mergeProps as a, normalizeClass as o, normalizeStyle as s, openBlock as c, ref as l, useAttrs as u, watch as d } from "vue";
|
|
2
|
+
import { clamp as f } from "@treeui/utils";
|
|
3
|
+
//#region src/components/TNumberInput.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var p = ["disabled"], m = [
|
|
5
|
+
"value",
|
|
6
|
+
"placeholder",
|
|
7
|
+
"disabled",
|
|
8
|
+
"aria-invalid"
|
|
9
|
+
], h = ["disabled"], g = /*@__PURE__*/ i({
|
|
10
|
+
inheritAttrs: !1,
|
|
11
|
+
__name: "TNumberInput",
|
|
12
|
+
props: {
|
|
13
|
+
modelValue: { default: null },
|
|
14
|
+
min: { default: void 0 },
|
|
15
|
+
max: { default: void 0 },
|
|
16
|
+
step: { default: 1 },
|
|
17
|
+
size: { default: "md" },
|
|
18
|
+
disabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: !1
|
|
21
|
+
},
|
|
22
|
+
invalid: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: !1
|
|
25
|
+
},
|
|
26
|
+
placeholder: { default: "" },
|
|
27
|
+
controls: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: !0
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
emits: ["update:modelValue"],
|
|
33
|
+
setup(i, { emit: g }) {
|
|
34
|
+
let _ = i, v = g, y = u(), b = l(_.modelValue === null || _.modelValue === void 0 ? "" : `${_.modelValue}`), x = e(() => {
|
|
35
|
+
let e = `${_.step}`.split(".")[1];
|
|
36
|
+
return e ? e.length : 0;
|
|
37
|
+
}), S = e(() => [
|
|
38
|
+
"t-number-input",
|
|
39
|
+
`t-number-input--${_.size}`,
|
|
40
|
+
{
|
|
41
|
+
"is-disabled": _.disabled,
|
|
42
|
+
"is-invalid": _.invalid,
|
|
43
|
+
"has-controls": _.controls
|
|
44
|
+
},
|
|
45
|
+
y.class
|
|
46
|
+
]), C = e(() => y.style), w = e(() => {
|
|
47
|
+
let { class: e, style: t, ...n } = y;
|
|
48
|
+
return n;
|
|
49
|
+
}), T = (e) => e == null ? "" : `${e}`, E = (e) => {
|
|
50
|
+
let t = f(e, _.min ?? -Infinity, _.max ?? Infinity);
|
|
51
|
+
return Number(t.toFixed(x.value));
|
|
52
|
+
}, D = (e) => {
|
|
53
|
+
let t = e.trim().replace(",", ".");
|
|
54
|
+
if (!t) return null;
|
|
55
|
+
let n = Number(t);
|
|
56
|
+
return Number.isNaN(n) ? null : n;
|
|
57
|
+
}, O = e(() => D(b.value) ?? _.modelValue ?? null), k = e(() => _.disabled ? !1 : _.min === void 0 || O.value === null || E(O.value) > _.min), A = e(() => _.disabled ? !1 : _.max === void 0 || O.value === null || E(O.value) < _.max), j = (e) => {
|
|
58
|
+
if (e === null) {
|
|
59
|
+
b.value = "", v("update:modelValue", null);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
let t = E(e);
|
|
63
|
+
b.value = `${t}`, v("update:modelValue", t);
|
|
64
|
+
}, M = (e) => {
|
|
65
|
+
if (_.disabled) return;
|
|
66
|
+
let t = O.value ?? 0;
|
|
67
|
+
O.value === null && (e === 1 && _.min !== void 0 && (t = _.min - _.step), e === -1 && _.max !== void 0 && (t = _.max + _.step)), j(t + e * _.step);
|
|
68
|
+
}, N = (e) => {
|
|
69
|
+
let t = e.target.value;
|
|
70
|
+
if (b.value = t, !t.trim()) {
|
|
71
|
+
v("update:modelValue", null);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
let n = D(t);
|
|
75
|
+
n !== null && v("update:modelValue", E(n));
|
|
76
|
+
}, P = () => {
|
|
77
|
+
if (!b.value.trim()) {
|
|
78
|
+
b.value = "";
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
let e = D(b.value);
|
|
82
|
+
if (e === null) {
|
|
83
|
+
b.value = T(_.modelValue);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
b.value = `${E(e)}`;
|
|
87
|
+
}, F = (e) => {
|
|
88
|
+
if (!_.disabled) {
|
|
89
|
+
if (e.key === "ArrowUp") {
|
|
90
|
+
e.preventDefault(), M(1);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (e.key === "ArrowDown") {
|
|
94
|
+
e.preventDefault(), M(-1);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (e.key === "Home" && _.min !== void 0) {
|
|
98
|
+
e.preventDefault(), j(_.min);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
e.key === "End" && _.max !== void 0 && (e.preventDefault(), j(_.max));
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
return d(() => _.modelValue, (e) => {
|
|
105
|
+
let t = T(e);
|
|
106
|
+
t !== b.value && (b.value = t);
|
|
107
|
+
}), (e, l) => (c(), n("div", {
|
|
108
|
+
class: o(S.value),
|
|
109
|
+
style: s(C.value)
|
|
110
|
+
}, [
|
|
111
|
+
i.controls ? (c(), n("button", {
|
|
112
|
+
key: 0,
|
|
113
|
+
type: "button",
|
|
114
|
+
class: "t-number-input__stepper t-number-input__stepper--decrement",
|
|
115
|
+
disabled: !k.value,
|
|
116
|
+
"aria-label": "Decrease value",
|
|
117
|
+
onClick: l[0] ||= (e) => M(-1)
|
|
118
|
+
}, [...l[2] ||= [r("span", { "aria-hidden": "true" }, "-", -1)]], 8, p)) : t("", !0),
|
|
119
|
+
r("input", a(w.value, {
|
|
120
|
+
value: b.value,
|
|
121
|
+
type: "text",
|
|
122
|
+
inputmode: "decimal",
|
|
123
|
+
class: "t-number-input__field",
|
|
124
|
+
placeholder: i.placeholder,
|
|
125
|
+
disabled: i.disabled,
|
|
126
|
+
"aria-invalid": i.invalid || void 0,
|
|
127
|
+
onInput: N,
|
|
128
|
+
onBlur: P,
|
|
129
|
+
onKeydown: F
|
|
130
|
+
}), null, 16, m),
|
|
131
|
+
i.controls ? (c(), n("button", {
|
|
132
|
+
key: 1,
|
|
133
|
+
type: "button",
|
|
134
|
+
class: "t-number-input__stepper t-number-input__stepper--increment",
|
|
135
|
+
disabled: !A.value,
|
|
136
|
+
"aria-label": "Increase value",
|
|
137
|
+
onClick: l[1] ||= (e) => M(1)
|
|
138
|
+
}, [...l[3] ||= [r("span", { "aria-hidden": "true" }, "+", -1)]], 8, h)) : t("", !0)
|
|
139
|
+
], 6));
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
//#endregion
|
|
143
|
+
export { g as default };
|
|
144
|
+
|
|
145
|
+
//# sourceMappingURL=TNumberInput.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TNumberInput.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../src/components/TNumberInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { clamp } from '@treeui/utils';\nimport { computed, ref, useAttrs, watch } from 'vue';\nimport type { TSize } from '../types/contracts';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: number | null;\n min?: number;\n max?: number;\n step?: number;\n size?: TSize;\n disabled?: boolean;\n invalid?: boolean;\n placeholder?: string;\n controls?: boolean;\n }>(),\n {\n modelValue: null,\n min: undefined,\n max: undefined,\n step: 1,\n size: 'md',\n disabled: false,\n invalid: false,\n placeholder: '',\n controls: true,\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number | null];\n}>();\n\nconst attrs = useAttrs();\nconst displayValue = ref(\n props.modelValue === null || props.modelValue === undefined ? '' : `${props.modelValue}`,\n);\n\nconst precision = computed(() => {\n const normalizedStep = `${props.step}`;\n const fractionalPart = normalizedStep.split('.')[1];\n return fractionalPart ? fractionalPart.length : 0;\n});\n\nconst rootClasses = computed(() => [\n 't-number-input',\n `t-number-input--${props.size}`,\n {\n 'is-disabled': props.disabled,\n 'is-invalid': props.invalid,\n 'has-controls': props.controls,\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 formatValue = (value: number | null | undefined) =>\n value === null || value === undefined ? '' : `${value}`;\n\nconst normalizeValue = (value: number) => {\n const clamped = clamp(\n value,\n props.min ?? Number.NEGATIVE_INFINITY,\n props.max ?? Number.POSITIVE_INFINITY,\n );\n\n return Number(clamped.toFixed(precision.value));\n};\n\nconst parseValue = (value: string) => {\n const normalized = value.trim().replace(',', '.');\n\n if (!normalized) {\n return null;\n }\n\n const parsed = Number(normalized);\n return Number.isNaN(parsed) ? null : parsed;\n};\n\nconst currentNumericValue = computed(() => {\n const parsed = parseValue(displayValue.value);\n return parsed ?? props.modelValue ?? null;\n});\n\nconst canDecrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.min === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) > props.min;\n});\n\nconst canIncrement = computed(() => {\n if (props.disabled) {\n return false;\n }\n\n if (props.max === undefined || currentNumericValue.value === null) {\n return true;\n }\n\n return normalizeValue(currentNumericValue.value) < props.max;\n});\n\nconst commitValue = (value: number | null) => {\n if (value === null) {\n displayValue.value = '';\n emit('update:modelValue', null);\n return;\n }\n\n const normalized = normalizeValue(value);\n displayValue.value = `${normalized}`;\n emit('update:modelValue', normalized);\n};\n\nconst stepValue = (direction: 1 | -1) => {\n if (props.disabled) {\n return;\n }\n\n let baseValue = currentNumericValue.value ?? 0;\n\n if (currentNumericValue.value === null) {\n if (direction === 1 && props.min !== undefined) {\n baseValue = props.min - props.step;\n }\n\n if (direction === -1 && props.max !== undefined) {\n baseValue = props.max + props.step;\n }\n }\n\n commitValue(baseValue + direction * props.step);\n};\n\nconst onInput = (event: Event) => {\n const nextValue = (event.target as HTMLInputElement).value;\n displayValue.value = nextValue;\n\n if (!nextValue.trim()) {\n emit('update:modelValue', null);\n return;\n }\n\n const parsedValue = parseValue(nextValue);\n\n if (parsedValue === null) {\n return;\n }\n\n emit('update:modelValue', normalizeValue(parsedValue));\n};\n\nconst onBlur = () => {\n if (!displayValue.value.trim()) {\n displayValue.value = '';\n return;\n }\n\n const parsedValue = parseValue(displayValue.value);\n\n if (parsedValue === null) {\n displayValue.value = formatValue(props.modelValue);\n return;\n }\n\n displayValue.value = `${normalizeValue(parsedValue)}`;\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n stepValue(1);\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n stepValue(-1);\n return;\n }\n\n if (event.key === 'Home' && props.min !== undefined) {\n event.preventDefault();\n commitValue(props.min);\n return;\n }\n\n if (event.key === 'End' && props.max !== undefined) {\n event.preventDefault();\n commitValue(props.max);\n }\n};\n\nwatch(\n () => props.modelValue,\n (value) => {\n const nextDisplayValue = formatValue(value);\n\n if (nextDisplayValue !== displayValue.value) {\n displayValue.value = nextDisplayValue;\n }\n },\n);\n</script>\n\n<template>\n <div\n :class=\"rootClasses\"\n :style=\"rootStyle\"\n >\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--decrement\"\n :disabled=\"!canDecrement\"\n aria-label=\"Decrease value\"\n @click=\"stepValue(-1)\"\n >\n <span aria-hidden=\"true\">-</span>\n </button>\n\n <input\n v-bind=\"inputAttrs\"\n :value=\"displayValue\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"t-number-input__field\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :aria-invalid=\"invalid || undefined\"\n @input=\"onInput\"\n @blur=\"onBlur\"\n @keydown=\"onKeydown\"\n >\n\n <button\n v-if=\"controls\"\n type=\"button\"\n class=\"t-number-input__stepper t-number-input__stepper--increment\"\n :disabled=\"!canIncrement\"\n aria-label=\"Increase value\"\n @click=\"stepValue(1)\"\n >\n <span aria-hidden=\"true\">+</span>\n </button>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPagination.cjs","names":[],"sources":["../../src/components/TPagination.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current active page (1-based) */\n modelValue?: number;\n /** Total number of pages */\n totalPages: number;\n /** Number of sibling pages shown around the current page */\n siblings?: number;\n /** Size variant */\n size?: TSize;\n /** Disable all controls */\n disabled?: boolean;\n /** Accessible label for the nav element */\n label?: string;\n }>(),\n {\n modelValue: 1,\n siblings: 1,\n size: 'md',\n disabled: false,\n label: 'Pagination',\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [page: number];\n}>();\n\ndefineSlots<{\n previous?: (props: Record<string, never>) => unknown;\n next?: (props: Record<string, never>) => unknown;\n}>();\n\nconst currentPage = computed(() =>\n Math.min(Math.max(1, props.modelValue), props.totalPages),\n);\n\nconst pages = computed(() => {\n const total = props.totalPages;\n const current = currentPage.value;\n const siblings = props.siblings;\n const items: (number | 'ellipsis')[] = [];\n\n const rangeStart = Math.max(2, current - siblings);\n const rangeEnd = Math.min(total - 1, current + siblings);\n\n // Always show page 1\n items.push(1);\n\n // Leading ellipsis\n if (rangeStart > 2) {\n items.push('ellipsis');\n }\n\n // Sibling pages\n for (let i = rangeStart; i <= rangeEnd; i++) {\n items.push(i);\n }\n\n // Trailing ellipsis\n if (rangeEnd < total - 1) {\n items.push('ellipsis');\n }\n\n // Always show last page (if more than 1 page)\n if (total > 1) {\n items.push(total);\n }\n\n return items;\n});\n\nconst classes = computed(() => [\n 't-pagination',\n `t-pagination--${props.size}`,\n { 'is-disabled': props.disabled },\n]);\n\nfunction goToPage(page: number) {\n if (props.disabled) return;\n const clamped = Math.min(Math.max(1, page), props.totalPages);\n if (clamped !== currentPage.value) {\n emit('update:modelValue', clamped);\n }\n}\n\nfunction onKeydown(event: KeyboardEvent, page: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n goToPage(page);\n }\n}\n</script>\n\n<template>\n <nav\n :class=\"classes\"\n :aria-label=\"label\"\n >\n <ul class=\"t-pagination__list\">\n <!-- Previous button -->\n <li class=\"t-pagination__item\">\n <button\n class=\"t-pagination__button t-pagination__button--prev\"\n type=\"button\"\n :disabled=\"disabled || currentPage <= 1\"\n :aria-label=\"'Go to previous page'\"\n @click=\"goToPage(currentPage - 1)\"\n >\n <slot name=\"previous\">\n <svg\n class=\"t-pagination__icon\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10 12L6 8l4-4\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n </button>\n </li>\n\n <!-- Page items -->\n <li\n v-for=\"(page, index) in pages\"\n :key=\"page === 'ellipsis' ? `ellipsis-${index}` : page\"\n class=\"t-pagination__item\"\n >\n <span\n v-if=\"page === 'ellipsis'\"\n class=\"t-pagination__ellipsis\"\n aria-hidden=\"true\"\n >\n …\n </span>\n <button\n v-else\n class=\"t-pagination__button\"\n :class=\"{ 'is-active': page === currentPage }\"\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"`Go to page ${page}`\"\n :aria-current=\"page === currentPage ? 'page' : undefined\"\n @click=\"goToPage(page)\"\n @keydown=\"onKeydown($event, page)\"\n >\n {{ page }}\n </button>\n </li>\n\n <!-- Next button -->\n <li class=\"t-pagination__item\">\n <button\n class=\"t-pagination__button t-pagination__button--next\"\n type=\"button\"\n :disabled=\"disabled || currentPage >= totalPages\"\n :aria-label=\"'Go to next page'\"\n @click=\"goToPage(currentPage + 1)\"\n >\n <slot name=\"next\">\n <svg\n class=\"t-pagination__icon\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M6 4l4 4-4 4\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n </button>\n </li>\n </ul>\n </nav>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPagination.js","names":[],"sources":["../../src/components/TPagination.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current active page (1-based) */\n modelValue?: number;\n /** Total number of pages */\n totalPages: number;\n /** Number of sibling pages shown around the current page */\n siblings?: number;\n /** Size variant */\n size?: TSize;\n /** Disable all controls */\n disabled?: boolean;\n /** Accessible label for the nav element */\n label?: string;\n }>(),\n {\n modelValue: 1,\n siblings: 1,\n size: 'md',\n disabled: false,\n label: 'Pagination',\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [page: number];\n}>();\n\ndefineSlots<{\n previous?: (props: Record<string, never>) => unknown;\n next?: (props: Record<string, never>) => unknown;\n}>();\n\nconst currentPage = computed(() =>\n Math.min(Math.max(1, props.modelValue), props.totalPages),\n);\n\nconst pages = computed(() => {\n const total = props.totalPages;\n const current = currentPage.value;\n const siblings = props.siblings;\n const items: (number | 'ellipsis')[] = [];\n\n const rangeStart = Math.max(2, current - siblings);\n const rangeEnd = Math.min(total - 1, current + siblings);\n\n // Always show page 1\n items.push(1);\n\n // Leading ellipsis\n if (rangeStart > 2) {\n items.push('ellipsis');\n }\n\n // Sibling pages\n for (let i = rangeStart; i <= rangeEnd; i++) {\n items.push(i);\n }\n\n // Trailing ellipsis\n if (rangeEnd < total - 1) {\n items.push('ellipsis');\n }\n\n // Always show last page (if more than 1 page)\n if (total > 1) {\n items.push(total);\n }\n\n return items;\n});\n\nconst classes = computed(() => [\n 't-pagination',\n `t-pagination--${props.size}`,\n { 'is-disabled': props.disabled },\n]);\n\nfunction goToPage(page: number) {\n if (props.disabled) return;\n const clamped = Math.min(Math.max(1, page), props.totalPages);\n if (clamped !== currentPage.value) {\n emit('update:modelValue', clamped);\n }\n}\n\nfunction onKeydown(event: KeyboardEvent, page: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n goToPage(page);\n }\n}\n</script>\n\n<template>\n <nav\n :class=\"classes\"\n :aria-label=\"label\"\n >\n <ul class=\"t-pagination__list\">\n <!-- Previous button -->\n <li class=\"t-pagination__item\">\n <button\n class=\"t-pagination__button t-pagination__button--prev\"\n type=\"button\"\n :disabled=\"disabled || currentPage <= 1\"\n :aria-label=\"'Go to previous page'\"\n @click=\"goToPage(currentPage - 1)\"\n >\n <slot name=\"previous\">\n <svg\n class=\"t-pagination__icon\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10 12L6 8l4-4\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n </button>\n </li>\n\n <!-- Page items -->\n <li\n v-for=\"(page, index) in pages\"\n :key=\"page === 'ellipsis' ? `ellipsis-${index}` : page\"\n class=\"t-pagination__item\"\n >\n <span\n v-if=\"page === 'ellipsis'\"\n class=\"t-pagination__ellipsis\"\n aria-hidden=\"true\"\n >\n …\n </span>\n <button\n v-else\n class=\"t-pagination__button\"\n :class=\"{ 'is-active': page === currentPage }\"\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"`Go to page ${page}`\"\n :aria-current=\"page === currentPage ? 'page' : undefined\"\n @click=\"goToPage(page)\"\n @keydown=\"onKeydown($event, page)\"\n >\n {{ page }}\n </button>\n </li>\n\n <!-- Next button -->\n <li class=\"t-pagination__item\">\n <button\n class=\"t-pagination__button t-pagination__button--next\"\n type=\"button\"\n :disabled=\"disabled || currentPage >= totalPages\"\n :aria-label=\"'Go to next page'\"\n @click=\"goToPage(currentPage + 1)\"\n >\n <slot name=\"next\">\n <svg\n class=\"t-pagination__icon\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M6 4l4 4-4 4\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n </button>\n </li>\n </ul>\n </nav>\n</template>\n"],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TSize } from '../types/contracts';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
/** Current active page (1-based) */
|
|
4
4
|
modelValue?: number;
|
|
@@ -7,7 +7,7 @@ type __VLS_Props = {
|
|
|
7
7
|
/** Number of sibling pages shown around the current page */
|
|
8
8
|
siblings?: number;
|
|
9
9
|
/** Size variant */
|
|
10
|
-
size?:
|
|
10
|
+
size?: TSize;
|
|
11
11
|
/** Disable all controls */
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
/** Accessible label for the nav element */
|
|
@@ -33,7 +33,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
|
|
|
33
33
|
}>, {
|
|
34
34
|
modelValue: number;
|
|
35
35
|
disabled: boolean;
|
|
36
|
-
size:
|
|
36
|
+
size: TSize;
|
|
37
37
|
label: string;
|
|
38
38
|
siblings: number;
|
|
39
39
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
@@ -44,4 +44,4 @@ type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
44
44
|
$slots: S;
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=
|
|
47
|
+
//# sourceMappingURL=TPagination.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPagination.vue.d.ts","sourceRoot":"","sources":["../../src/components/TPagination.vue"],"names":[],"mappings":"AAiMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,KAAK,WAAW,GAAG;IACf,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA2FJ,iBAAS,cAAc;WA4GT,OAAO,IAA6B;;mBArLrC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO;eAC7C,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO;;mBADrC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO;eAC7C,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,OAAO;;;;EAyLjD;AAeD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;gBAvOJ,MAAM;cAQR,OAAO;UAFX,KAAK;WAIJ,MAAM;cANH,MAAM;qFA4OnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("vue");var t=[`aria-label`],n={class:`t-pagination__list`},r={class:`t-pagination__item`},i=[`disabled`],a={key:0,class:`t-pagination__ellipsis`,"aria-hidden":`true`},o=[`disabled`,`aria-label`,`aria-current`,`onClick`,`onKeydown`],s={class:`t-pagination__item`},c=[`disabled`],l=(0,e.defineComponent)({__name:`TPagination`,props:{modelValue:{default:1},totalPages:{},siblings:{default:1},size:{default:`md`},disabled:{type:Boolean,default:!1},label:{default:`Pagination`}},emits:[`update:modelValue`],setup(l,{emit:u}){let d=l,f=u,p=(0,e.computed)(()=>Math.min(Math.max(1,d.modelValue),d.totalPages)),m=(0,e.computed)(()=>{let e=d.totalPages,t=p.value,n=d.siblings,r=[],i=Math.max(2,t-n),a=Math.min(e-1,t+n);r.push(1),i>2&&r.push(`ellipsis`);for(let e=i;e<=a;e++)r.push(e);return a<e-1&&r.push(`ellipsis`),e>1&&r.push(e),r}),h=(0,e.computed)(()=>[`t-pagination`,`t-pagination--${d.size}`,{"is-disabled":d.disabled}]);function g(e){if(d.disabled)return;let t=Math.min(Math.max(1,e),d.totalPages);t!==p.value&&f(`update:modelValue`,t)}function _(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),g(t))}return(u,d)=>((0,e.openBlock)(),(0,e.createElementBlock)(`nav`,{class:(0,e.normalizeClass)(h.value),"aria-label":l.label},[(0,e.createElementVNode)(`ul`,n,[(0,e.createElementVNode)(`li`,r,[(0,e.createElementVNode)(`button`,{class:`t-pagination__button t-pagination__button--prev`,type:`button`,disabled:l.disabled||p.value<=1,"aria-label":`Go to previous page`,onClick:d[0]||=e=>g(p.value-1)},[(0,e.renderSlot)(u.$slots,`previous`,{},()=>[d[2]||=(0,e.createElementVNode)(`svg`,{class:`t-pagination__icon`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[(0,e.createElementVNode)(`path`,{d:`M10 12L6 8l4-4`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)])],8,i)]),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(m.value,(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`li`,{key:t===`ellipsis`?`ellipsis-${n}`:t,class:`t-pagination__item`},[t===`ellipsis`?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,a,` … `)):((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:(0,e.normalizeClass)([`t-pagination__button`,{"is-active":t===p.value}]),type:`button`,disabled:l.disabled,"aria-label":`Go to page ${t}`,"aria-current":t===p.value?`page`:void 0,onClick:e=>g(t),onKeydown:e=>_(e,t)},(0,e.toDisplayString)(t),43,o))]))),128)),(0,e.createElementVNode)(`li`,s,[(0,e.createElementVNode)(`button`,{class:`t-pagination__button t-pagination__button--next`,type:`button`,disabled:l.disabled||p.value>=l.totalPages,"aria-label":`Go to next page`,onClick:d[1]||=e=>g(p.value+1)},[(0,e.renderSlot)(u.$slots,`next`,{},()=>[d[3]||=(0,e.createElementVNode)(`svg`,{class:`t-pagination__icon`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[(0,e.createElementVNode)(`path`,{d:`M6 4l4 4-4 4`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)])],8,c)])])],10,t))}});exports.default=l;
|
|
2
|
+
//# sourceMappingURL=TPagination.vue_vue_type_script_setup_true_lang.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TPagination.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../src/components/TPagination.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { TSize } from '../types/contracts';\n\nconst props = withDefaults(\n defineProps<{\n /** Current active page (1-based) */\n modelValue?: number;\n /** Total number of pages */\n totalPages: number;\n /** Number of sibling pages shown around the current page */\n siblings?: number;\n /** Size variant */\n size?: TSize;\n /** Disable all controls */\n disabled?: boolean;\n /** Accessible label for the nav element */\n label?: string;\n }>(),\n {\n modelValue: 1,\n siblings: 1,\n size: 'md',\n disabled: false,\n label: 'Pagination',\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [page: number];\n}>();\n\ndefineSlots<{\n previous?: (props: Record<string, never>) => unknown;\n next?: (props: Record<string, never>) => unknown;\n}>();\n\nconst currentPage = computed(() =>\n Math.min(Math.max(1, props.modelValue), props.totalPages),\n);\n\nconst pages = computed(() => {\n const total = props.totalPages;\n const current = currentPage.value;\n const siblings = props.siblings;\n const items: (number | 'ellipsis')[] = [];\n\n const rangeStart = Math.max(2, current - siblings);\n const rangeEnd = Math.min(total - 1, current + siblings);\n\n // Always show page 1\n items.push(1);\n\n // Leading ellipsis\n if (rangeStart > 2) {\n items.push('ellipsis');\n }\n\n // Sibling pages\n for (let i = rangeStart; i <= rangeEnd; i++) {\n items.push(i);\n }\n\n // Trailing ellipsis\n if (rangeEnd < total - 1) {\n items.push('ellipsis');\n }\n\n // Always show last page (if more than 1 page)\n if (total > 1) {\n items.push(total);\n }\n\n return items;\n});\n\nconst classes = computed(() => [\n 't-pagination',\n `t-pagination--${props.size}`,\n { 'is-disabled': props.disabled },\n]);\n\nfunction goToPage(page: number) {\n if (props.disabled) return;\n const clamped = Math.min(Math.max(1, page), props.totalPages);\n if (clamped !== currentPage.value) {\n emit('update:modelValue', clamped);\n }\n}\n\nfunction onKeydown(event: KeyboardEvent, page: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n goToPage(page);\n }\n}\n</script>\n\n<template>\n <nav\n :class=\"classes\"\n :aria-label=\"label\"\n >\n <ul class=\"t-pagination__list\">\n <!-- Previous button -->\n <li class=\"t-pagination__item\">\n <button\n class=\"t-pagination__button t-pagination__button--prev\"\n type=\"button\"\n :disabled=\"disabled || currentPage <= 1\"\n :aria-label=\"'Go to previous page'\"\n @click=\"goToPage(currentPage - 1)\"\n >\n <slot name=\"previous\">\n <svg\n class=\"t-pagination__icon\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10 12L6 8l4-4\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n </button>\n </li>\n\n <!-- Page items -->\n <li\n v-for=\"(page, index) in pages\"\n :key=\"page === 'ellipsis' ? `ellipsis-${index}` : page\"\n class=\"t-pagination__item\"\n >\n <span\n v-if=\"page === 'ellipsis'\"\n class=\"t-pagination__ellipsis\"\n aria-hidden=\"true\"\n >\n …\n </span>\n <button\n v-else\n class=\"t-pagination__button\"\n :class=\"{ 'is-active': page === currentPage }\"\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"`Go to page ${page}`\"\n :aria-current=\"page === currentPage ? 'page' : undefined\"\n @click=\"goToPage(page)\"\n @keydown=\"onKeydown($event, page)\"\n >\n {{ page }}\n </button>\n </li>\n\n <!-- Next button -->\n <li class=\"t-pagination__item\">\n <button\n class=\"t-pagination__button t-pagination__button--next\"\n type=\"button\"\n :disabled=\"disabled || currentPage >= totalPages\"\n :aria-label=\"'Go to next page'\"\n @click=\"goToPage(currentPage + 1)\"\n >\n <slot name=\"next\">\n <svg\n class=\"t-pagination__icon\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M6 4l4 4-4 4\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n </button>\n </li>\n </ul>\n </nav>\n</template>\n"],"mappings":"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"}
|