@ticatec/uniface-element 5.0.4 → 5.1.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 +14 -13
- package/README_CN.md +17 -15
- package/dist/app_layout/ColumnsLayout.svelte +14 -10
- package/dist/app_layout/ColumnsLayout.svelte.d.ts +8 -4
- package/dist/app_layout/README.md +14 -12
- package/dist/app_layout/README_CN.md +14 -12
- package/dist/app_layout/RowsLayout.svelte +14 -10
- package/dist/app_layout/RowsLayout.svelte.d.ts +8 -4
- package/dist/base-calendar/CalendarBase.svelte +4 -10
- package/dist/base-calendar/CalendarBase.svelte.d.ts +0 -4
- package/dist/base-calendar/DateContext.d.ts +1 -0
- package/dist/base-calendar/DateContext.js +5 -8
- package/dist/base-calendar/MonthlyCalendar.svelte +11 -3
- package/dist/base-calendar/MonthlyCalendar.svelte.d.ts +1 -2
- package/dist/base-calendar/YearPickupPanel.svelte +5 -5
- package/dist/base-calendar/YearPickupPanel.svelte.d.ts +2 -2
- package/dist/base-calendar/dateUtils.js +9 -5
- package/dist/composite/pagination_panel/PaginationPanel.svelte +19 -13
- package/dist/composite/pagination_panel/PaginationPanel.svelte.d.ts +8 -5
- package/dist/composite/pagination_panel/README.md +3 -1
- package/dist/composite/pagination_panel/README_CN.md +3 -1
- package/dist/composite/transfer/Transfer.svelte +30 -16
- package/dist/composite/transfer/Transfer.svelte.d.ts +11 -4
- package/dist/composite/transfer/index.d.ts +2 -2
- package/dist/data_display/accordion/Accordion.svelte +10 -9
- package/dist/data_display/accordion/Accordion.svelte.d.ts +2 -1
- package/dist/data_display/accordion/AccordionItemView.svelte +6 -6
- package/dist/data_display/accordion/AccordionItemView.svelte.d.ts +1 -1
- package/dist/data_display/accordion/README.md +6 -4
- package/dist/data_display/accordion/README_CN.md +6 -4
- package/dist/data_display/card/Card.svelte +13 -11
- package/dist/data_display/card/Card.svelte.d.ts +5 -3
- package/dist/data_display/card/CardAction.d.ts +7 -2
- package/dist/data_display/card/CommonCardActionBar.svelte +2 -2
- package/dist/data_display/card/README.md +11 -9
- package/dist/data_display/card/README_CN.md +11 -9
- package/dist/data_display/card/index.d.ts +2 -1
- package/dist/data_display/concise_data_table/Column.d.ts +0 -6
- package/dist/data_display/concise_data_table/ConciseListTable.svelte +6 -5
- package/dist/data_display/concise_data_table/ConciseListTable.svelte.d.ts +4 -3
- package/dist/data_display/concise_data_table/DataCell.svelte +1 -1
- package/dist/data_display/concise_data_table/README.md +7 -5
- package/dist/data_display/concise_data_table/README_CN.md +7 -5
- package/dist/data_display/concise_data_table/TableOptions.d.ts +1 -1
- package/dist/data_display/list_box/ListBox.svelte +11 -15
- package/dist/data_display/list_box/ListBox.svelte.d.ts +6 -9
- package/dist/data_display/list_box/README.md +10 -8
- package/dist/data_display/list_box/README_CN.md +10 -8
- package/dist/data_display/list_box/index.d.ts +2 -3
- package/dist/data_display/tree_view/README.md +4 -2
- package/dist/data_display/tree_view/README_CN.md +4 -2
- package/dist/data_display/tree_view/TreeNodeView.svelte +15 -16
- package/dist/data_display/tree_view/TreeNodeView.svelte.d.ts +4 -5
- package/dist/data_display/tree_view/TreeView.svelte +27 -19
- package/dist/data_display/tree_view/TreeView.svelte.d.ts +12 -4
- package/dist/data_display/tree_view/index.d.ts +2 -3
- package/dist/data_table/DataTable.svelte +46 -15
- package/dist/data_table/DataTable.svelte.d.ts +9 -1
- package/dist/data_table/README.md +10 -8
- package/dist/data_table/README_CN.md +10 -8
- package/dist/data_table/UniDataTable.d.ts +4 -4
- package/dist/data_table/UniDataTable.js +2 -2
- package/dist/data_table/index.d.ts +5 -5
- package/dist/data_table/lib/CellAction.d.ts +9 -0
- package/dist/data_table/lib/CommonHeaderCell.d.ts +2 -2
- package/dist/data_table/lib/CompareFn.d.ts +3 -0
- package/dist/data_table/lib/DataColumn.d.ts +7 -12
- package/dist/data_table/lib/FormatCellFn.d.ts +2 -0
- package/dist/data_table/lib/HrefLink.d.ts +3 -3
- package/dist/data_table/lib/IndicatorColumn.d.ts +2 -1
- package/dist/data_table/lib/RowAction.d.ts +14 -20
- package/dist/data_table/lib/virtualWindow.d.ts +37 -0
- package/dist/data_table/lib/virtualWindow.js +41 -0
- package/dist/data_table/parts/ActionCell.svelte +3 -3
- package/dist/data_table/parts/ActionCell.svelte.d.ts +1 -1
- package/dist/data_table/parts/ActionsPanel.svelte +17 -2
- package/dist/data_table/parts/ActionsPanel.svelte.d.ts +3 -0
- package/dist/data_table/parts/ActionsRow.svelte +7 -5
- package/dist/data_table/parts/ContentPanel.svelte +40 -15
- package/dist/data_table/parts/ContentPanel.svelte.d.ts +11 -6
- package/dist/data_table/parts/FixedColumnsPanel.svelte +32 -16
- package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +8 -5
- package/dist/data_table/parts/FixedHeaderPanel.svelte +14 -15
- package/dist/data_table/parts/FixedHeaderPanel.svelte.d.ts +4 -4
- package/dist/data_table/parts/FixedRow.svelte +9 -9
- package/dist/data_table/parts/FixedRow.svelte.d.ts +3 -3
- package/dist/data_table/parts/HrefCell.svelte +1 -1
- package/dist/data_table/parts/PopupMenu.svelte +3 -3
- package/dist/data_table/parts/PopupMenu.svelte.d.ts +1 -1
- package/dist/data_table/parts/TableHeaderPanel.svelte +14 -14
- package/dist/data_table/parts/TableHeaderPanel.svelte.d.ts +4 -4
- package/dist/data_table/parts/TextCell.svelte +1 -1
- package/dist/feedback/progress-bar/ProgressBar.svelte +13 -10
- package/dist/feedback/progress-bar/ProgressBar.svelte.d.ts +6 -3
- package/dist/form/FormEditor.svelte +2 -2
- package/dist/form/FormEditor.svelte.d.ts +1 -1
- package/dist/form/attachment_files/AttachmentEditor.svelte +407 -92
- package/dist/form/attachment_files/AttachmentEditor.svelte.d.ts +71 -15
- package/dist/form/attachment_files/AttachmentFile.d.ts +35 -8
- package/dist/form/attachment_files/AttachmentFile.js +54 -29
- package/dist/form/attachment_files/AttachmentListItem.svelte +208 -0
- package/dist/form/attachment_files/AttachmentListItem.svelte.d.ts +25 -0
- package/dist/form/attachment_files/AttachmentTile.svelte +296 -0
- package/dist/form/attachment_files/AttachmentTile.svelte.d.ts +25 -0
- package/dist/form/attachment_files/FileUpload.d.ts +2 -2
- package/dist/form/attachment_files/README.md +71 -452
- package/dist/form/attachment_files/README_CN.md +68 -449
- package/dist/form/attachment_files/UploadTask.d.ts +27 -0
- package/dist/form/attachment_files/index.d.ts +8 -5
- package/dist/form/attachment_files/index.js +4 -2
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +16 -15
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte.d.ts +6 -5
- package/dist/form/cascade_options_select/IsLeaf.d.ts +4 -0
- package/dist/form/cascade_options_select/IsLeaf.js +1 -0
- package/dist/form/cascade_options_select/OptionsBox.svelte +4 -4
- package/dist/form/cascade_options_select/OptionsBox.svelte.d.ts +2 -2
- package/dist/form/color_picker/ColorPicker.svelte +3 -3
- package/dist/form/color_picker/ColorPickerPanel.svelte +1 -1
- package/dist/form/common_editor/BasePicker.svelte +7 -7
- package/dist/form/common_editor/BasePicker.svelte.d.ts +3 -3
- package/dist/form/common_editor/CommonEditor.svelte +8 -8
- package/dist/form/common_editor/CommonEditor.svelte.d.ts +2 -2
- package/dist/form/common_editor/CommonPicker.svelte +43 -31
- package/dist/form/common_editor/CommonPicker.svelte.d.ts +6 -6
- package/dist/form/common_editor/CommonPickerProps.d.ts +2 -2
- package/dist/form/common_editor/CommonPopupEditor.svelte +13 -13
- package/dist/form/common_editor/CommonPopupEditor.svelte.d.ts +3 -4
- package/dist/form/common_editor/NumberInput.svelte +10 -2
- package/dist/form/common_editor/NumberInput.svelte.d.ts +1 -1
- package/dist/form/common_range_editor/CommonRangeEditor.svelte +17 -17
- package/dist/form/common_range_editor/CommonRangeEditor.svelte.d.ts +5 -5
- package/dist/form/date_picker/DatePicker.svelte +5 -5
- package/dist/form/date_picker/DatePicker.svelte.d.ts +1 -1
- package/dist/form/date_picker/DateTimePicker.svelte +16 -6
- package/dist/form/date_picker/README.md +7 -5
- package/dist/form/date_picker/README_CN.md +7 -5
- package/dist/form/date_picker/ScrollBar.svelte +21 -20
- package/dist/form/date_picker/ScrollBar.svelte.d.ts +3 -3
- package/dist/form/date_range/DateRangeEditor.svelte +6 -6
- package/dist/form/events.d.ts +70 -0
- package/dist/form/events.js +6 -0
- package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +9 -7
- package/dist/form/group_box/group-check-box/GroupCheckBox.svelte.d.ts +4 -3
- package/dist/form/group_box/group-check-box/README.md +5 -3
- package/dist/form/group_box/group-check-box/README_CN.md +5 -3
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +9 -7
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte.d.ts +4 -3
- package/dist/form/group_box/group-radio-box/README.md +3 -1
- package/dist/form/group_box/group-radio-box/README_CN.md +3 -1
- package/dist/form/image_editor/ImageEditor.svelte +118 -0
- package/dist/form/image_editor/ImageEditor.svelte.d.ts +52 -0
- package/dist/form/image_editor/ImageFile.d.ts +11 -0
- package/dist/form/image_editor/ImageFile.js +1 -0
- package/dist/form/{image-files → image_editor}/ImagePreview.svelte +10 -2
- package/dist/form/image_editor/README.md +89 -0
- package/dist/form/image_editor/README_CN.md +89 -0
- package/dist/form/image_editor/index.d.ts +11 -0
- package/dist/form/image_editor/index.js +4 -0
- package/dist/form/input_options_select/InputOptionsSelect.svelte +11 -8
- package/dist/form/input_options_select/InputOptionsSelect.svelte.d.ts +2 -1
- package/dist/form/input_options_select/README.md +44 -218
- package/dist/form/input_options_select/README_CN.md +38 -211
- package/dist/form/lookup_editor/LookupEditor.svelte +7 -10
- package/dist/form/lookup_editor/LookupEditor.svelte.d.ts +2 -1
- package/dist/form/memo_editor/MemoEditor.svelte +2 -2
- package/dist/form/memo_editor/MemoEditor.svelte.d.ts +1 -1
- package/dist/form/number_editor/NumberEditor.svelte +13 -1
- package/dist/form/number_editor/NumberEditor.svelte.d.ts +1 -1
- package/dist/form/number_range/NumberRange.svelte +5 -5
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte +13 -13
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte.d.ts +3 -2
- package/dist/form/options_multi_select/README.md +5 -3
- package/dist/form/options_multi_select/README_CN.md +5 -3
- package/dist/form/options_select/OptionsSelect.svelte +19 -15
- package/dist/form/options_select/OptionsSelect.svelte.d.ts +2 -1
- package/dist/form/options_select/README.md +9 -7
- package/dist/form/options_select/README_CN.md +8 -6
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +6 -5
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte.d.ts +2 -1
- package/dist/form/prompts_text_editor/README.md +16 -14
- package/dist/form/prompts_text_editor/README_CN.md +16 -14
- package/dist/form/search_box/SearchBox.svelte +3 -2
- package/dist/form/search_box/SearchBox.svelte.d.ts +1 -1
- package/dist/form/switch/README.md +7 -5
- package/dist/form/switch/README_CN.md +7 -5
- package/dist/form/switch/Switch.svelte +7 -5
- package/dist/form/switch/Switch.svelte.d.ts +4 -2
- package/dist/form/text_editor/PasswordEditor.svelte +2 -2
- package/dist/form/text_editor/PasswordEditor.svelte.d.ts +1 -1
- package/dist/form/text_editor/TextEditor.svelte +6 -4
- package/dist/form/text_editor/TextEditor.svelte.d.ts +1 -1
- package/dist/form/time_editor/README.md +4 -2
- package/dist/form/time_editor/README_CN.md +4 -2
- package/dist/form/time_editor/TimeEditor.svelte +10 -7
- package/dist/form/time_editor/TimeEditor.svelte.d.ts +2 -1
- package/dist/form/types.d.ts +5 -42
- package/dist/form/unit-number-editor/README.md +21 -19
- package/dist/form/unit-number-editor/README_CN.md +21 -19
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte +12 -11
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +4 -3
- package/dist/general/button/Button.svelte +4 -1
- package/dist/general/button/Button.svelte.d.ts +3 -1
- package/dist/general/button/IconButton.svelte +11 -5
- package/dist/general/button/IconButton.svelte.d.ts +5 -2
- package/dist/general/button/IconButton_README.md +9 -6
- package/dist/general/button/IconButton_README_CN.md +9 -6
- package/dist/general/button/TextButton.svelte +15 -5
- package/dist/general/button/TextButton.svelte.d.ts +6 -2
- package/dist/general/button/TextButton_README.md +10 -6
- package/dist/general/button/TextButton_README_CN.md +10 -6
- package/dist/general/icon/Icon.svelte +6 -4
- package/dist/general/icon/Icon.svelte.d.ts +3 -2
- package/dist/general/tag/Tag.svelte +8 -4
- package/dist/general/tag/Tag.svelte.d.ts +3 -1
- package/dist/i18nRes/i18nRes.d.ts +45 -2
- package/dist/i18nRes/i18nRes.js +7 -2
- package/dist/layouts/action_bar/ActionBar.svelte +5 -4
- package/dist/layouts/action_bar/ActionBar.svelte.d.ts +2 -1
- package/dist/layouts/action_bar/ButtonAction.d.ts +1 -23
- package/dist/layouts/action_bar/README.md +20 -18
- package/dist/layouts/action_bar/README_CN.md +19 -17
- package/dist/layouts/box/Box.svelte +4 -3
- package/dist/layouts/box/Box.svelte.d.ts +2 -1
- package/dist/layouts/box/README.md +13 -11
- package/dist/layouts/box/README_CN.md +13 -11
- package/dist/layouts/form_field/FormField.svelte +5 -4
- package/dist/layouts/form_field/FormField.svelte.d.ts +3 -2
- package/dist/layouts/form_field/README.md +11 -9
- package/dist/layouts/form_field/README_CN.md +9 -7
- package/dist/layouts/form_panel/flex_row_form/Cell.svelte +3 -1
- package/dist/layouts/form_panel/flex_row_form/Cell.svelte.d.ts +3 -1
- package/dist/layouts/form_panel/flex_row_form/Row.svelte +3 -1
- package/dist/layouts/form_panel/flex_row_form/Row.svelte.d.ts +3 -1
- package/dist/layouts/form_panel/grid_form/GridField.svelte +8 -4
- package/dist/layouts/form_panel/grid_form/GridField.svelte.d.ts +6 -2
- package/dist/layouts/form_panel/grid_form/GridForm.svelte +3 -1
- package/dist/layouts/form_panel/grid_form/GridForm.svelte.d.ts +3 -1
- package/dist/layouts/form_panel/grid_form/README.md +6 -4
- package/dist/layouts/form_panel/grid_form/README_CN.md +6 -4
- package/dist/layouts/page/Page.svelte +7 -7
- package/dist/layouts/page/Page.svelte.d.ts +2 -2
- package/dist/layouts/page/PageHeader.svelte +4 -4
- package/dist/layouts/page/PageHeader.svelte.d.ts +1 -1
- package/dist/layouts/page/README.md +18 -18
- package/dist/layouts/page/README_CN.md +18 -18
- package/dist/navigation/nav_menu/MenuItem.d.ts +1 -1
- package/dist/navigation/nav_menu/NavigatorMenu.svelte +16 -14
- package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +7 -5
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +2 -2
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +2 -2
- package/dist/navigation/nav_menu/README.md +8 -6
- package/dist/navigation/nav_menu/README_CN.md +8 -6
- package/dist/navigation/nav_menu/index.d.ts +2 -2
- package/dist/navigation/navigator/Navigator.svelte +5 -4
- package/dist/navigation/navigator/Navigator.svelte.d.ts +3 -2
- package/dist/navigation/navigator/README.md +12 -10
- package/dist/navigation/navigator/README_CN.md +12 -10
- package/dist/navigation/pagination/Pagination.svelte +23 -15
- package/dist/navigation/pagination/Pagination.svelte.d.ts +6 -4
- package/dist/navigation/progress_step_bar/ProgressStep.d.ts +2 -1
- package/dist/navigation/progress_step_bar/ProgressStepBar.svelte +5 -4
- package/dist/navigation/progress_step_bar/ProgressStepBar.svelte.d.ts +2 -1
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +3 -3
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte.d.ts +1 -1
- package/dist/navigation/progress_step_bar/README.md +37 -35
- package/dist/navigation/progress_step_bar/README_CN.md +36 -34
- package/dist/navigation/tabs/Tabs.svelte +14 -5
- package/dist/navigation/tabs/Tabs.svelte.d.ts +11 -4
- package/dist/navigation/tabs/index.d.ts +2 -2
- package/dist/overlay/common/ModalPopover.svelte +5 -4
- package/dist/overlay/common/ModalPopover.svelte.d.ts +2 -1
- package/dist/overlay/common/Popover.svelte +4 -3
- package/dist/overlay/common/Popover.svelte.d.ts +2 -1
- package/dist/overlay/context-menu/ContextMenuItem.d.ts +3 -3
- package/dist/overlay/context-menu/ContextMenuPanel.svelte +4 -4
- package/dist/overlay/context-menu/index.d.ts +2 -2
- package/dist/overlay/dialog/CommonDialog.svelte +17 -13
- package/dist/overlay/dialog/CommonDialog.svelte.d.ts +9 -5
- package/dist/overlay/dialog/Dialog.svelte +25 -19
- package/dist/overlay/dialog/Dialog.svelte.d.ts +11 -5
- package/dist/overlay/dialog/DialogActions.d.ts +1 -1
- package/dist/overlay/dialog/DialogCloseConfirm.d.ts +4 -1
- package/dist/overlay/dialog/DialogCloseConfirm.js +1 -1
- package/dist/overlay/dialog/DialogManager.svelte.js +2 -1
- package/dist/overlay/dialog/README.md +19 -17
- package/dist/overlay/dialog/README_CN.md +19 -17
- package/dist/overlay/dialog/index.d.ts +2 -2
- package/dist/overlay/message-box/IMessageBox.d.ts +4 -4
- package/dist/overlay/message-box/MessageBox.svelte.js +3 -3
- package/dist/ticatec-uniface-web.css +38 -12
- package/dist/types.d.ts +38 -46
- package/dist/unifaceContext.d.ts +2 -2
- package/dist/utils/prefixFilter.js +0 -1
- package/docs/NAMING.md +362 -0
- package/docs/NAMING_CN.md +362 -0
- package/docs/components/README.md +16 -14
- package/docs/components/accordion/README.md +13 -2
- package/docs/components/accordion/example.svelte +1 -0
- package/docs/components/action-bar/README.md +4 -4
- package/docs/components/attachment-editor/README.md +224 -0
- package/docs/components/attachment-editor/example.svelte +22 -0
- package/docs/components/box/README.md +1 -1
- package/docs/components/button/README.md +8 -1
- package/docs/components/button/example.svelte +1 -0
- package/docs/components/card/README.md +19 -5
- package/docs/components/cascade-options-select/README.md +11 -5
- package/docs/components/columns-layout/README.md +8 -4
- package/docs/components/columns-layout/example.svelte +4 -0
- package/docs/components/common-dialog/README.md +19 -10
- package/docs/components/common-dialog/example.svelte +2 -1
- package/docs/components/concise-data-table/README.md +18 -29
- package/docs/components/concise-data-table/example.svelte +1 -1
- package/docs/components/context-menu/README.md +5 -5
- package/docs/components/context-menu/example.svelte +1 -1
- package/docs/components/criteria-field/README.md +1 -0
- package/docs/components/criteria-field/example.svelte +1 -0
- package/docs/components/data-table/README.md +63 -40
- package/docs/components/data-table/example.svelte +2 -2
- package/docs/components/date-picker/README.md +1 -1
- package/docs/components/date-time-picker/README.md +1 -1
- package/docs/components/dialog/README.md +21 -14
- package/docs/components/dialog/example.svelte +1 -1
- package/docs/components/form-field/README.md +3 -3
- package/docs/components/grid-form/README.md +15 -5
- package/docs/components/grid-form/example.svelte +1 -1
- package/docs/components/group-check-box/README.md +3 -3
- package/docs/components/group-radio-box/README.md +3 -3
- package/docs/components/icon/README.md +6 -5
- package/docs/components/icon-button/README.md +10 -1
- package/docs/components/icon-button/example.svelte +1 -0
- package/docs/components/image-editor/README.md +262 -0
- package/docs/components/{image-files → image-editor}/example.svelte +5 -3
- package/docs/components/input-options-select/README.md +2 -2
- package/docs/components/list-box/README.md +12 -13
- package/docs/components/list-box/example.svelte +3 -3
- package/docs/components/lookup-editor/README.md +1 -1
- package/docs/components/navigator/README.md +2 -1
- package/docs/components/navigator/example.svelte +1 -0
- package/docs/components/navigator-menu/README.md +24 -21
- package/docs/components/navigator-menu/example.svelte +4 -2
- package/docs/components/options-multi-select/README.md +2 -2
- package/docs/components/options-select/README.md +4 -4
- package/docs/components/page/README.md +2 -2
- package/docs/components/page-stack/README.md +67 -0
- package/docs/components/page-stack/example.svelte +7 -0
- package/docs/components/pagination/README.md +24 -7
- package/docs/components/pagination/example.svelte +5 -2
- package/docs/components/pagination-panel/README.md +25 -10
- package/docs/components/pagination-panel/example.svelte +5 -4
- package/docs/components/password-editor/README.md +128 -0
- package/docs/components/{attachment-files → password-editor}/example.svelte +5 -5
- package/docs/components/progress-bar/README.md +14 -4
- package/docs/components/progress-bar/example.svelte +1 -1
- package/docs/components/progress-step-bar/README.md +16 -7
- package/docs/components/progress-step-bar/example.svelte +5 -1
- package/docs/components/prompts-text-editor/README.md +8 -6
- package/docs/components/prompts-text-editor/example.svelte +0 -1
- package/docs/components/rows-layout/README.md +8 -4
- package/docs/components/rows-layout/example.svelte +4 -0
- package/docs/components/switch/README.md +2 -2
- package/docs/components/tabs/README.md +24 -9
- package/docs/components/tag/README.md +13 -2
- package/docs/components/tag/example.svelte +1 -0
- package/docs/components/text-button/README.md +20 -1
- package/docs/components/text-button/example.svelte +2 -0
- package/docs/components/time-editor/README.md +1 -1
- package/docs/components/transfer/README.md +16 -9
- package/docs/components/tree-view/README.md +29 -13
- package/docs/components/tree-view/example.svelte +2 -1
- package/docs/components/unit-number-editor/README.md +11 -8
- package/docs/components/unit-number-editor/example.svelte +0 -1
- package/package.json +13 -7
- package/dist/data_table/lib/CompareFunction.d.ts +0 -3
- package/dist/data_table/lib/FormatCell.d.ts +0 -2
- package/dist/form/attachment_files/FileRender.svelte +0 -125
- package/dist/form/attachment_files/FileRender.svelte.d.ts +0 -9
- package/dist/form/attachment_files/FileUploadBar.svelte +0 -66
- package/dist/form/attachment_files/FileUploadBar.svelte.d.ts +0 -8
- package/dist/form/attachment_files/FileUploadPanel.svelte +0 -161
- package/dist/form/attachment_files/FileUploadPanel.svelte.d.ts +0 -14
- package/dist/form/attachment_files/UploadFile.d.ts +0 -43
- package/dist/form/attachment_files/UploadFile.js +0 -80
- package/dist/form/cascade_options_select/CascadePanel.svelte +0 -52
- package/dist/form/cascade_options_select/CascadePanel.svelte.d.ts +0 -26
- package/dist/form/cascade_options_select/isLeafDetermine.d.ts +0 -4
- package/dist/form/common_editor/EditorEvents.d.ts +0 -14
- package/dist/form/common_editor/EditorEvents.js +0 -2
- package/dist/form/image-files/ImageFile.d.ts +0 -12
- package/dist/form/image-files/ImageFilesField.svelte +0 -128
- package/dist/form/image-files/ImageFilesField.svelte.d.ts +0 -18
- package/dist/form/image-files/ImageRender.svelte +0 -95
- package/dist/form/image-files/ImageRender.svelte.d.ts +0 -10
- package/dist/form/image-files/README.md +0 -468
- package/dist/form/image-files/README_CN.md +0 -468
- package/dist/form/image-files/index.d.ts +0 -10
- package/dist/form/image-files/index.js +0 -2
- package/dist/layout/flex/FlexBlock.svelte +0 -17
- package/dist/layout/flex/FlexBlock.svelte.d.ts +0 -38
- package/dist/layout/flex/README.md +0 -148
- package/dist/layout/flex/README_CN.md +0 -148
- package/dist/layout/flex/index.d.ts +0 -2
- package/dist/layout/flex/index.js +0 -2
- package/dist/layout/index.d.ts +0 -0
- package/dist/layout/index.js +0 -1
- package/docs/components/attachment-files/README.md +0 -332
- package/docs/components/image-files/README.md +0 -174
- /package/dist/data_table/lib/{FormatCell.js → CellAction.js} +0 -0
- /package/dist/data_table/lib/{CompareFunction.js → CompareFn.js} +0 -0
- /package/dist/{form/cascade_options_select/isLeafDetermine.js → data_table/lib/FormatCellFn.js} +0 -0
- /package/dist/form/{image-files/ImageFile.js → attachment_files/UploadTask.js} +0 -0
- /package/dist/form/{image-files → image_editor}/ImagePreview.svelte.d.ts +0 -0
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import Pagination from "../../navigation/pagination";
|
|
3
3
|
import OptionsSelect from "../../form/options_select";
|
|
4
|
-
import
|
|
4
|
+
import i18nRes from "../../i18nRes";
|
|
5
|
+
import type {GenerateTotalInfo, OnPageChange, OnPageSizeChange, Size} from "../../types";
|
|
5
6
|
|
|
6
7
|
interface Props {
|
|
7
8
|
pageCount?: number;
|
|
8
9
|
pageNo?: number;
|
|
9
|
-
|
|
10
|
+
/** 形状:plain / round / circle */
|
|
11
|
+
variant?: 'plain' | 'round' | 'circle';
|
|
10
12
|
page$style?: string;
|
|
11
|
-
big
|
|
13
|
+
/** 尺寸档位;'large' 对应旧的 big */
|
|
14
|
+
size?: Size;
|
|
12
15
|
rowsSet?: Array<number>;
|
|
13
16
|
total?: number;
|
|
14
17
|
generateInfo?: GenerateTotalInfo;
|
|
15
18
|
rowCount?: number;
|
|
16
|
-
|
|
19
|
+
/** 每页行数选择框旁的文字 */
|
|
20
|
+
rowCountText?: string;
|
|
17
21
|
align?: 'left' | 'right' | '';
|
|
18
22
|
onPageSizeChange?: OnPageSizeChange;
|
|
19
23
|
onchange?: OnPageChange;
|
|
@@ -21,15 +25,15 @@
|
|
|
21
25
|
|
|
22
26
|
let {
|
|
23
27
|
pageCount = 0,
|
|
24
|
-
pageNo = 1,
|
|
25
|
-
|
|
28
|
+
pageNo = $bindable(1),
|
|
29
|
+
variant = 'round',
|
|
26
30
|
page$style = '',
|
|
27
|
-
|
|
31
|
+
size = 'medium',
|
|
28
32
|
rowsSet = [25, 50, 100],
|
|
29
33
|
total = 0,
|
|
30
34
|
generateInfo,
|
|
31
35
|
rowCount = $bindable(25),
|
|
32
|
-
|
|
36
|
+
rowCountText = i18nRes.dataTable.rowsPerPage(),
|
|
33
37
|
align = '',
|
|
34
38
|
onPageSizeChange,
|
|
35
39
|
onchange,
|
|
@@ -40,10 +44,12 @@
|
|
|
40
44
|
);
|
|
41
45
|
// Rendered via {@html} below: generateInfo is a trusted, caller-supplied
|
|
42
46
|
// renderer (not user input) — same opt-in-HTML boundary as DataColumn#renderHTML.
|
|
47
|
+
// The default text comes from the i18n resources (dataTable.totalInfo), so it
|
|
48
|
+
// follows the active language instead of being hardcoded English.
|
|
43
49
|
let totalText = $derived(
|
|
44
50
|
generateInfo
|
|
45
51
|
? generateInfo(total, pageCount, pageNo, rowCount)
|
|
46
|
-
:
|
|
52
|
+
: i18nRes.dataTable.totalInfo({total})
|
|
47
53
|
);
|
|
48
54
|
|
|
49
55
|
const handleRowCountChange = () => {
|
|
@@ -54,18 +60,18 @@
|
|
|
54
60
|
<div class="uniface-pagination-panel" class:left={align === 'left'} class:right={align === 'right'}>
|
|
55
61
|
<div class="page-options">
|
|
56
62
|
<OptionsSelect
|
|
57
|
-
compact={
|
|
63
|
+
compact={size !== 'large' || variant === 'plain'}
|
|
58
64
|
style="width: 80px"
|
|
59
65
|
variant="outlined"
|
|
60
|
-
|
|
66
|
+
clearable={false}
|
|
61
67
|
options={pagesOptions}
|
|
62
68
|
bind:value={rowCount}
|
|
63
69
|
onchange={handleRowCountChange}/>
|
|
64
70
|
</div>
|
|
65
71
|
<div>
|
|
66
|
-
<span style="margin-left: 8px">{
|
|
72
|
+
<span style="margin-left: 8px">{rowCountText}</span></div>
|
|
67
73
|
<div class="pagination">
|
|
68
|
-
<Pagination {pageCount}
|
|
74
|
+
<Pagination {pageCount} bind:pageNo {variant} style={page$style} {size} {onchange}/>
|
|
69
75
|
</div>
|
|
70
76
|
<div class="pagination-info">
|
|
71
77
|
{@html totalText}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import type { GenerateTotalInfo, OnPageChange, OnPageSizeChange } from "../../types";
|
|
1
|
+
import type { GenerateTotalInfo, OnPageChange, OnPageSizeChange, Size } from "../../types";
|
|
2
2
|
interface Props {
|
|
3
3
|
pageCount?: number;
|
|
4
4
|
pageNo?: number;
|
|
5
|
-
|
|
5
|
+
/** 形状:plain / round / circle */
|
|
6
|
+
variant?: 'plain' | 'round' | 'circle';
|
|
6
7
|
page$style?: string;
|
|
7
|
-
big
|
|
8
|
+
/** 尺寸档位;'large' 对应旧的 big */
|
|
9
|
+
size?: Size;
|
|
8
10
|
rowsSet?: Array<number>;
|
|
9
11
|
total?: number;
|
|
10
12
|
generateInfo?: GenerateTotalInfo;
|
|
11
13
|
rowCount?: number;
|
|
12
|
-
|
|
14
|
+
/** 每页行数选择框旁的文字 */
|
|
15
|
+
rowCountText?: string;
|
|
13
16
|
align?: 'left' | 'right' | '';
|
|
14
17
|
onPageSizeChange?: OnPageSizeChange;
|
|
15
18
|
onchange?: OnPageChange;
|
|
16
19
|
}
|
|
17
|
-
declare const PaginationPanel: import("svelte").Component<Props, {}, "rowCount">;
|
|
20
|
+
declare const PaginationPanel: import("svelte").Component<Props, {}, "pageNo" | "rowCount">;
|
|
18
21
|
type PaginationPanel = ReturnType<typeof PaginationPanel>;
|
|
19
22
|
export default PaginationPanel;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# PaginationPanel
|
|
2
2
|
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `rowCountLabel` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
3
5
|
A composite pagination bar that combines three controls into one row: a rows-per-page selector, a page navigator, and a total-records info area.
|
|
4
6
|
|
|
5
7
|
> Svelte 5 component. Callbacks are passed as plain props (`onchange`, `onPageSizeChange`), not as `on:` directives.
|
|
@@ -28,7 +30,7 @@ npm install @ticatec/uniface-element
|
|
|
28
30
|
| `total` | `number` | `0` | Total record count, shown in the info area |
|
|
29
31
|
| `rowCount` | `number` | `25` | Rows-per-page value. **Bindable** — use `bind:rowCount` to read it back, or pass `onPageSizeChange` to react to changes |
|
|
30
32
|
| `rowsSet` | `Array<number>` | `[25, 50, 100]` | Available options in the rows-per-page selector |
|
|
31
|
-
| `
|
|
33
|
+
| `rowCountText` | `string` | `'Rows/Page'` | Label shown next to the rows-per-page selector |
|
|
32
34
|
| `type` | `'plain' \| 'round' \| 'circle'` | `'round'` | Visual style of the inner Pagination buttons |
|
|
33
35
|
| `big` | `boolean` | `false` | Larger button size for the inner Pagination |
|
|
34
36
|
| `page$style` | `string` | `''` | Inline CSS applied to the inner Pagination root |
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# PaginationPanel 分页面板
|
|
2
2
|
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `rowCountLabel` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
|
+
|
|
3
5
|
一个组合分页条,把"每页行数选择器 + 页码导航 + 总记录数信息"放在同一行。
|
|
4
6
|
|
|
5
7
|
> Svelte 5 组件。回调以普通 prop 形式传入(`onchange`、`onPageSizeChange`),不再用 `on:` 指令。
|
|
@@ -28,7 +30,7 @@ npm install @ticatec/uniface-element
|
|
|
28
30
|
| `total` | `number` | `0` | 总记录数,显示在信息区 |
|
|
29
31
|
| `rowCount` | `number` | `25` | 每页行数。**可绑定** —— 用 `bind:rowCount` 读回,或通过 `onPageSizeChange` 监听变化 |
|
|
30
32
|
| `rowsSet` | `Array<number>` | `[25, 50, 100]` | 每页行数选择器的可选项 |
|
|
31
|
-
| `
|
|
33
|
+
| `rowCountText` | `string` | `'Rows/Page'` | 每页行数选择器旁的标签文字 |
|
|
32
34
|
| `type` | `'plain' \| 'round' \| 'circle'` | `'round'` | 内部 Pagination 按钮的视觉样式 |
|
|
33
35
|
| `big` | `boolean` | `false` | 内部 Pagination 使用大号按钮 |
|
|
34
36
|
| `page$style` | `string` | `''` | 应用到内部 Pagination 根节点的内联 CSS |
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
import ListBox from "../../data_display/list_box";
|
|
3
3
|
import IconButton from "../../general/button/IconButton.svelte";
|
|
4
4
|
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type {FilterFn} from "../../data_display/list_box";
|
|
6
|
+
import type {BeforeTransfer, OnTransfer} from "../../types";
|
|
7
7
|
import i18n, {i18nUtils} from "@ticatec/i18n";
|
|
8
|
-
import i18nRes from "../../i18nRes";
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
interface Props {
|
|
@@ -15,8 +14,15 @@
|
|
|
15
14
|
targetList?: Array<any>;
|
|
16
15
|
targetTitle?: string;
|
|
17
16
|
itemRender?: any;
|
|
18
|
-
filter?:
|
|
19
|
-
|
|
17
|
+
filter?: FilterFn | null;
|
|
18
|
+
/**
|
|
19
|
+
* 移动前的否决钩子:返回 false 阻止移动。
|
|
20
|
+
*/
|
|
21
|
+
beforeTransfer?: BeforeTransfer;
|
|
22
|
+
/**
|
|
23
|
+
* 移动完成后的通知。
|
|
24
|
+
*/
|
|
25
|
+
onchange?: OnTransfer;
|
|
20
26
|
onfocus?: (event: FocusEvent) => void;
|
|
21
27
|
onblur?: (event: FocusEvent) => void;
|
|
22
28
|
footer$style?: string;
|
|
@@ -30,6 +36,7 @@
|
|
|
30
36
|
targetTitle,
|
|
31
37
|
itemRender = null,
|
|
32
38
|
filter = null,
|
|
39
|
+
beforeTransfer,
|
|
33
40
|
onchange,
|
|
34
41
|
onfocus,
|
|
35
42
|
onblur,
|
|
@@ -48,26 +55,33 @@
|
|
|
48
55
|
if (!transferContainer?.contains(event.relatedTarget as Node | null)) onblur?.(event);
|
|
49
56
|
};
|
|
50
57
|
|
|
58
|
+
const allowMove = async (list: Array<any>, direction: "left" | "right"): Promise<boolean> =>
|
|
59
|
+
beforeTransfer == null || (await beforeTransfer(list, direction)) !== false;
|
|
60
|
+
|
|
51
61
|
const moveToTarget = async () => {
|
|
52
|
-
if (sourceSelectedList.length > 0 && await
|
|
53
|
-
|
|
54
|
-
|
|
62
|
+
if (sourceSelectedList.length > 0 && await allowMove(sourceSelectedList, "right")) {
|
|
63
|
+
const moved = sourceSelectedList;
|
|
64
|
+
targetList = [...targetList, ...moved];
|
|
65
|
+
sourceList = sourceList.filter(item => moved.indexOf(item) === -1);
|
|
55
66
|
sourceSelectedList = [];
|
|
67
|
+
onchange?.(moved, "right");
|
|
56
68
|
}
|
|
57
69
|
}
|
|
58
70
|
|
|
59
71
|
const moveToSource = async () => {
|
|
60
|
-
if (targetSelectedList.length > 0 && await
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
if (targetSelectedList.length > 0 && await allowMove(targetSelectedList, "left")) {
|
|
73
|
+
const moved = targetSelectedList;
|
|
74
|
+
sourceList = [...sourceList, ...moved];
|
|
75
|
+
targetList = targetList.filter(item => moved.indexOf(item) === -1);
|
|
63
76
|
targetSelectedList = [];
|
|
77
|
+
onchange?.(moved, "left");
|
|
64
78
|
}
|
|
65
79
|
}
|
|
66
80
|
</script>
|
|
67
81
|
|
|
68
|
-
<div bind:this={transferContainer} class="uniface-transfer-container" onfocusin={handleFocusIn} onfocusout={handleFocusOut}>
|
|
69
|
-
<ListBox class="list-container" title={sourceTitle} {filter} style="
|
|
70
|
-
bind:
|
|
82
|
+
<div bind:this={transferContainer} class="uniface-transfer-container" {style} onfocusin={handleFocusIn} onfocusout={handleFocusOut}>
|
|
83
|
+
<ListBox class="list-container" title={sourceTitle} {filter} style="grid-column: 1/2" list={sourceList} selectMode="multiple"
|
|
84
|
+
bind:selectedItems={sourceSelectedList} {itemRender}>
|
|
71
85
|
{#snippet footer()}
|
|
72
86
|
<div style={footer$style}>
|
|
73
87
|
<span>{i18nUtils.formatText(i18n.getText('uniface.transfer.selectIndicator'), {
|
|
@@ -85,8 +99,8 @@
|
|
|
85
99
|
<i class="icon_google_navigate_next"></i>
|
|
86
100
|
</IconButton>
|
|
87
101
|
</div>
|
|
88
|
-
<ListBox class="list-container" title={targetTitle} style="
|
|
89
|
-
bind:
|
|
102
|
+
<ListBox class="list-container" title={targetTitle} style="grid-column: 3/4" {filter} list={targetList} selectMode="multiple"
|
|
103
|
+
bind:selectedItems={targetSelectedList} {itemRender}>
|
|
90
104
|
{#snippet footer()}
|
|
91
105
|
<div style={footer$style}>
|
|
92
106
|
<span>{i18nUtils.formatText(i18n.getText('uniface.transfer.selectIndicator'), {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { FilterFn } from "../../data_display/list_box";
|
|
2
|
+
import type { BeforeTransfer, OnTransfer } from "../../types";
|
|
3
3
|
interface Props {
|
|
4
4
|
style?: string;
|
|
5
5
|
sourceList?: Array<any>;
|
|
@@ -7,8 +7,15 @@ interface Props {
|
|
|
7
7
|
targetList?: Array<any>;
|
|
8
8
|
targetTitle?: string;
|
|
9
9
|
itemRender?: any;
|
|
10
|
-
filter?:
|
|
11
|
-
|
|
10
|
+
filter?: FilterFn | null;
|
|
11
|
+
/**
|
|
12
|
+
* 移动前的否决钩子:返回 false 阻止移动。
|
|
13
|
+
*/
|
|
14
|
+
beforeTransfer?: BeforeTransfer;
|
|
15
|
+
/**
|
|
16
|
+
* 移动完成后的通知。
|
|
17
|
+
*/
|
|
18
|
+
onchange?: OnTransfer;
|
|
12
19
|
onfocus?: (event: FocusEvent) => void;
|
|
13
20
|
onblur?: (event: FocusEvent) => void;
|
|
14
21
|
footer$style?: string;
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
interface Props {
|
|
7
7
|
style?: string;
|
|
8
8
|
compact?: boolean;
|
|
9
|
-
|
|
9
|
+
/** 折叠项列表 */
|
|
10
|
+
items?: AccordionItem[];
|
|
10
11
|
exclusive?: boolean;
|
|
11
12
|
theme?: string;
|
|
12
13
|
}
|
|
@@ -14,18 +15,18 @@
|
|
|
14
15
|
let {
|
|
15
16
|
style = '',
|
|
16
17
|
compact = false,
|
|
17
|
-
|
|
18
|
+
items = [],
|
|
18
19
|
exclusive = false,
|
|
19
|
-
theme
|
|
20
|
+
theme
|
|
20
21
|
}: Props = $props();
|
|
21
22
|
|
|
22
23
|
let openSet = $state(new Set<AccordionItem>());
|
|
23
24
|
let activeItem = $state<AccordionItem | null>(null);
|
|
24
25
|
|
|
25
26
|
onMount(() => {
|
|
26
|
-
if (exclusive && activeItem == null &&
|
|
27
|
-
activeItem =
|
|
28
|
-
openSet.add(
|
|
27
|
+
if (exclusive && activeItem == null && items.length > 0) {
|
|
28
|
+
activeItem = items[0];
|
|
29
|
+
openSet.add(items[0]);
|
|
29
30
|
}
|
|
30
31
|
});
|
|
31
32
|
|
|
@@ -47,11 +48,11 @@
|
|
|
47
48
|
};
|
|
48
49
|
</script>
|
|
49
50
|
|
|
50
|
-
<div class="uniface-accordion-panel
|
|
51
|
-
{#each
|
|
51
|
+
<div class="uniface-accordion-panel" class:compact {style} data-theme={theme}>
|
|
52
|
+
{#each items as accordion}
|
|
52
53
|
<AccordionItemView
|
|
53
54
|
title={accordion.title}
|
|
54
|
-
|
|
55
|
+
expanded={openSet.has(accordion)}
|
|
55
56
|
{exclusive}
|
|
56
57
|
{compact}
|
|
57
58
|
onclick={handleAccordionClick(accordion)}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
interface Props {
|
|
5
5
|
title: string;
|
|
6
|
-
|
|
6
|
+
expanded?: boolean;
|
|
7
7
|
onclick?: (event: MouseEvent) => void;
|
|
8
8
|
header?: Snippet;
|
|
9
9
|
exclusive?: boolean;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
let {
|
|
15
15
|
title = '',
|
|
16
|
-
|
|
16
|
+
expanded = false,
|
|
17
17
|
onclick = undefined,
|
|
18
18
|
header = undefined,
|
|
19
19
|
exclusive = false,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
class:compact
|
|
44
44
|
role="button"
|
|
45
45
|
tabindex="0"
|
|
46
|
-
aria-expanded={
|
|
46
|
+
aria-expanded={expanded}
|
|
47
47
|
onclick={handleClick}
|
|
48
48
|
onkeydown={handleKeyDown}
|
|
49
49
|
>
|
|
@@ -55,16 +55,16 @@
|
|
|
55
55
|
</div>
|
|
56
56
|
<div class="icon">
|
|
57
57
|
{#if exclusive}
|
|
58
|
-
{#if
|
|
58
|
+
{#if expanded}
|
|
59
59
|
<i class="icon_google_folder_open"></i>
|
|
60
60
|
{/if}
|
|
61
61
|
{:else}
|
|
62
|
-
<i class={
|
|
62
|
+
<i class={expanded ? 'icon_google_keyboard_arrow_up' : 'icon_google_keyboard_arrow_down'}></i>
|
|
63
63
|
{/if}
|
|
64
64
|
</div>
|
|
65
65
|
{/if}
|
|
66
66
|
</div>
|
|
67
|
-
{#if
|
|
67
|
+
{#if expanded && children}
|
|
68
68
|
<div class="content" class:compact>
|
|
69
69
|
{@render children()}
|
|
70
70
|
</div>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Accordion
|
|
2
2
|
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `accordions` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
3
5
|
A vertically stacked set of expandable panels. Each panel has a clickable header and a collapsible content area.
|
|
4
6
|
|
|
5
7
|
> Svelte 5 component. Content is passed as **Snippets** (not JSX, not Svelte 4 slots).
|
|
@@ -23,7 +25,7 @@ npm install @ticatec/uniface-element
|
|
|
23
25
|
|
|
24
26
|
| Prop | Type | Default | Description |
|
|
25
27
|
|------|------|---------|-------------|
|
|
26
|
-
| `
|
|
28
|
+
| `items` | `AccordionItem[]` | `[]` | Items to render |
|
|
27
29
|
| `exclusive` | `boolean` | `false` | When `true`, only one panel open at a time. The first item auto-opens on mount. Icon switches to folder/folder-open style |
|
|
28
30
|
| `compact` | `boolean` | `false` | Reduces header and content padding |
|
|
29
31
|
| `style` | `string` | `''` | Inline CSS on the root container |
|
|
@@ -61,7 +63,7 @@ interface AccordionItem {
|
|
|
61
63
|
<div>Content for section 2</div>
|
|
62
64
|
{/snippet}
|
|
63
65
|
|
|
64
|
-
<Accordion
|
|
66
|
+
<Accordion items={items} />
|
|
65
67
|
```
|
|
66
68
|
|
|
67
69
|
> The snippet must be defined at the **top level of the module script** (or passed via a variable) — not inlined inside the array literal. Inline arrow functions returning JSX like `() => <div>...</div>` are not valid Svelte.
|
|
@@ -69,7 +71,7 @@ interface AccordionItem {
|
|
|
69
71
|
### Exclusive mode — single open panel
|
|
70
72
|
|
|
71
73
|
```svelte
|
|
72
|
-
<Accordion
|
|
74
|
+
<Accordion items={items} exclusive />
|
|
73
75
|
```
|
|
74
76
|
|
|
75
77
|
In `exclusive` mode:
|
|
@@ -80,7 +82,7 @@ In `exclusive` mode:
|
|
|
80
82
|
### Compact
|
|
81
83
|
|
|
82
84
|
```svelte
|
|
83
|
-
<Accordion
|
|
85
|
+
<Accordion items={items} compact style="max-width: 600px; margin: 0 auto;" />
|
|
84
86
|
```
|
|
85
87
|
|
|
86
88
|
## Styling
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Accordion 手风琴
|
|
2
2
|
|
|
3
|
+
> **5.1.0 重命名**:本文使用 [API 命名规范](../../../docs/NAMING_CN.md) 中的名字;旧名 `accordions` 已在 5.1.0 移除(5.1.0 不保留兼容别名)。
|
|
4
|
+
|
|
3
5
|
一组垂直堆叠、可展开/折叠的面板。每个面板有可点击的标题和可折叠的内容区。
|
|
4
6
|
|
|
5
7
|
> Svelte 5 组件。内容通过 **Snippet** 传入(不是 JSX,也不是 Svelte 4 slot)。
|
|
@@ -23,7 +25,7 @@ npm install @ticatec/uniface-element
|
|
|
23
25
|
|
|
24
26
|
| 属性 | 类型 | 默认值 | 描述 |
|
|
25
27
|
|------|------|--------|------|
|
|
26
|
-
| `
|
|
28
|
+
| `items` | `AccordionItem[]` | `[]` | 要渲染的项 |
|
|
27
29
|
| `exclusive` | `boolean` | `false` | 为 `true` 时同一时刻只能展开一个面板,第一项在挂载时自动展开,图标改为 文件夹/打开文件夹 样式 |
|
|
28
30
|
| `compact` | `boolean` | `false` | 缩小标题和内容的内边距 |
|
|
29
31
|
| `style` | `string` | `''` | 根容器的内联 CSS |
|
|
@@ -61,7 +63,7 @@ interface AccordionItem {
|
|
|
61
63
|
<div>第二部分的内容</div>
|
|
62
64
|
{/snippet}
|
|
63
65
|
|
|
64
|
-
<Accordion
|
|
66
|
+
<Accordion items={items} />
|
|
65
67
|
```
|
|
66
68
|
|
|
67
69
|
> snippet 必须定义在 **模块顶层**(或通过变量传入),不能在数组字面量里直接写 `() => <div>...</div>` —— 那不是合法的 Svelte 语法。
|
|
@@ -69,7 +71,7 @@ interface AccordionItem {
|
|
|
69
71
|
### exclusive 模式 —— 只展开一个
|
|
70
72
|
|
|
71
73
|
```svelte
|
|
72
|
-
<Accordion
|
|
74
|
+
<Accordion items={items} exclusive />
|
|
73
75
|
```
|
|
74
76
|
|
|
75
77
|
`exclusive` 模式下:
|
|
@@ -80,7 +82,7 @@ interface AccordionItem {
|
|
|
80
82
|
### 紧凑
|
|
81
83
|
|
|
82
84
|
```svelte
|
|
83
|
-
<Accordion
|
|
85
|
+
<Accordion items={items} compact style="max-width: 600px; margin: 0 auto;" />
|
|
84
86
|
```
|
|
85
87
|
|
|
86
88
|
## 样式定制
|
|
@@ -11,14 +11,16 @@
|
|
|
11
11
|
actions?: Array<CardAction>;
|
|
12
12
|
variant?: 'plain' | '3d';
|
|
13
13
|
data?: any;
|
|
14
|
-
|
|
14
|
+
header?: Snippet;
|
|
15
15
|
children?: Snippet;
|
|
16
16
|
theme?: string;
|
|
17
17
|
/** 操作栏图标排布方式,默认 'distribute'(按数量平分宽度、每个居中,不会被拉到两端) */
|
|
18
|
-
|
|
18
|
+
/** 动作栏对齐方式 */
|
|
19
|
+
actions$align?: CardActionsAlign;
|
|
19
20
|
/** 'center'/'left'/'right' 模式下相邻图标的固定间距,例如 '16px' */
|
|
20
21
|
actionsGap?: string;
|
|
21
|
-
|
|
22
|
+
/** 内容区内联样式 */
|
|
23
|
+
content$style?: string;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
let {
|
|
@@ -27,12 +29,12 @@
|
|
|
27
29
|
actions = [],
|
|
28
30
|
variant = 'plain',
|
|
29
31
|
data = null,
|
|
30
|
-
|
|
32
|
+
header,
|
|
31
33
|
children,
|
|
32
|
-
theme
|
|
33
|
-
|
|
34
|
+
theme,
|
|
35
|
+
actions$align = 'distribute',
|
|
34
36
|
actionsGap,
|
|
35
|
-
|
|
37
|
+
content$style = '',
|
|
36
38
|
}: Props = $props();
|
|
37
39
|
</script>
|
|
38
40
|
|
|
@@ -42,18 +44,18 @@
|
|
|
42
44
|
<div class="card-header">
|
|
43
45
|
<CardHeader {title}/>
|
|
44
46
|
</div>
|
|
45
|
-
{:else if
|
|
47
|
+
{:else if header}
|
|
46
48
|
<div class="card-header">
|
|
47
|
-
{@render
|
|
49
|
+
{@render header()}
|
|
48
50
|
</div>
|
|
49
51
|
{/if}
|
|
50
|
-
<div class="card-content" style={
|
|
52
|
+
<div class="card-content" style={content$style}>
|
|
51
53
|
{#if children}
|
|
52
54
|
{@render children()}
|
|
53
55
|
{/if}
|
|
54
56
|
</div>
|
|
55
57
|
{#if actions && actions.length > 0}
|
|
56
|
-
<CommonCardActionBar {actions} {data} align={
|
|
58
|
+
<CommonCardActionBar {actions} {data} align={actions$align} gap={actionsGap}/>
|
|
57
59
|
{/if}
|
|
58
60
|
</div>
|
|
59
61
|
</div>
|
|
@@ -7,14 +7,16 @@ interface Props {
|
|
|
7
7
|
actions?: Array<CardAction>;
|
|
8
8
|
variant?: 'plain' | '3d';
|
|
9
9
|
data?: any;
|
|
10
|
-
|
|
10
|
+
header?: Snippet;
|
|
11
11
|
children?: Snippet;
|
|
12
12
|
theme?: string;
|
|
13
13
|
/** 操作栏图标排布方式,默认 'distribute'(按数量平分宽度、每个居中,不会被拉到两端) */
|
|
14
|
-
|
|
14
|
+
/** 动作栏对齐方式 */
|
|
15
|
+
actions$align?: CardActionsAlign;
|
|
15
16
|
/** 'center'/'left'/'right' 模式下相邻图标的固定间距,例如 '16px' */
|
|
16
17
|
actionsGap?: string;
|
|
17
|
-
|
|
18
|
+
/** 内容区内联样式 */
|
|
19
|
+
content$style?: string;
|
|
18
20
|
}
|
|
19
21
|
declare const Card: import("svelte").Component<Props, {}, "">;
|
|
20
22
|
type Card = ReturnType<typeof Card>;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ActionHandler } from "../../types";
|
|
2
|
+
export type { ActionHandler };
|
|
2
3
|
export default interface CardAction {
|
|
4
|
+
/**
|
|
5
|
+
* 显示文字(图标动作可省略,用 tooltip 说明)
|
|
6
|
+
*/
|
|
7
|
+
label?: string;
|
|
3
8
|
/**
|
|
4
9
|
* 使用icon字体
|
|
5
10
|
*/
|
|
@@ -19,7 +24,7 @@ export default interface CardAction {
|
|
|
19
24
|
/**
|
|
20
25
|
*
|
|
21
26
|
*/
|
|
22
|
-
|
|
27
|
+
handler: ActionHandler;
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
25
30
|
* 操作栏图标的排布方式:
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
actions,
|
|
19
19
|
color = null,
|
|
20
20
|
data,
|
|
21
|
-
theme
|
|
21
|
+
theme,
|
|
22
22
|
align = 'distribute',
|
|
23
23
|
gap
|
|
24
24
|
}: Props = $props();
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
const handleActionClick = (action: CardAction) => async (e: MouseEvent) => {
|
|
31
31
|
if (clickEnable && !action.disabled) {
|
|
32
32
|
clickEnable = false;
|
|
33
|
-
action.
|
|
33
|
+
action.handler?.(data);
|
|
34
34
|
await utils.sleep(0.5);
|
|
35
35
|
clickEnable = true;
|
|
36
36
|
}
|