@ticatec/topside-elements 1.0.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/CHANGELOG.md +39 -0
- package/LICENSE +21 -0
- package/README.md +308 -0
- package/README_CN.md +372 -0
- package/dist/app_layout/ClassicLayout.svelte +140 -0
- package/dist/app_layout/ClassicLayout.svelte.d.ts +21 -0
- package/dist/app_layout/ColumnsLayout.svelte +95 -0
- package/dist/app_layout/ColumnsLayout.svelte.d.ts +23 -0
- package/dist/app_layout/HeaderLayout.svelte +93 -0
- package/dist/app_layout/HeaderLayout.svelte.d.ts +14 -0
- package/dist/app_layout/README.md +316 -0
- package/dist/app_layout/README_CN.md +323 -0
- package/dist/app_layout/RowsLayout.svelte +95 -0
- package/dist/app_layout/RowsLayout.svelte.d.ts +23 -0
- package/dist/app_layout/SidebarLayout.svelte +93 -0
- package/dist/app_layout/SidebarLayout.svelte.d.ts +14 -0
- package/dist/app_layout/index.d.ts +6 -0
- package/dist/app_layout/index.js +6 -0
- package/dist/assets/loading.gif +0 -0
- package/dist/base-calendar/CalendarBase.svelte +188 -0
- package/dist/base-calendar/CalendarBase.svelte.d.ts +15 -0
- package/dist/base-calendar/CalendarDay.d.ts +7 -0
- package/dist/base-calendar/CalendarDay.js +1 -0
- package/dist/base-calendar/DateContext.d.ts +19 -0
- package/dist/base-calendar/DateContext.js +49 -0
- package/dist/base-calendar/MonthPickupPanel.svelte +101 -0
- package/dist/base-calendar/MonthPickupPanel.svelte.d.ts +8 -0
- package/dist/base-calendar/MonthlyCalendar.svelte +227 -0
- package/dist/base-calendar/MonthlyCalendar.svelte.d.ts +25 -0
- package/dist/base-calendar/YearPickupPanel.svelte +143 -0
- package/dist/base-calendar/YearPickupPanel.svelte.d.ts +9 -0
- package/dist/base-calendar/dateUtils.d.ts +9 -0
- package/dist/base-calendar/dateUtils.js +38 -0
- package/dist/base-calendar/index.d.ts +5 -0
- package/dist/base-calendar/index.js +5 -0
- package/dist/composite/pagination_panel/PaginationPanel.svelte +117 -0
- package/dist/composite/pagination_panel/PaginationPanel.svelte.d.ts +22 -0
- package/dist/composite/pagination_panel/README.md +130 -0
- package/dist/composite/pagination_panel/README_CN.md +130 -0
- package/dist/composite/pagination_panel/index.d.ts +4 -0
- package/dist/composite/pagination_panel/index.js +2 -0
- package/dist/composite/transfer/README.md +795 -0
- package/dist/composite/transfer/Transfer.svelte +136 -0
- package/dist/composite/transfer/Transfer.svelte.d.ts +25 -0
- package/dist/composite/transfer/index.d.ts +4 -0
- package/dist/composite/transfer/index.js +2 -0
- package/dist/data_display/accordion/Accordion.svelte +76 -0
- package/dist/data_display/accordion/Accordion.svelte.d.ts +12 -0
- package/dist/data_display/accordion/AccordionItem.d.ts +5 -0
- package/dist/data_display/accordion/AccordionItem.js +1 -0
- package/dist/data_display/accordion/AccordionItemView.svelte +128 -0
- package/dist/data_display/accordion/AccordionItemView.svelte.d.ts +13 -0
- package/dist/data_display/accordion/README.md +104 -0
- package/dist/data_display/accordion/README_CN.md +104 -0
- package/dist/data_display/accordion/index.d.ts +4 -0
- package/dist/data_display/accordion/index.js +2 -0
- package/dist/data_display/card/Card.svelte +107 -0
- package/dist/data_display/card/Card.svelte.d.ts +23 -0
- package/dist/data_display/card/CardAction.d.ts +36 -0
- package/dist/data_display/card/CardAction.js +1 -0
- package/dist/data_display/card/CardHeader.svelte +20 -0
- package/dist/data_display/card/CardHeader.svelte.d.ts +6 -0
- package/dist/data_display/card/CommonCardActionBar.svelte +156 -0
- package/dist/data_display/card/CommonCardActionBar.svelte.d.ts +15 -0
- package/dist/data_display/card/README.md +144 -0
- package/dist/data_display/card/README_CN.md +144 -0
- package/dist/data_display/card/index.d.ts +5 -0
- package/dist/data_display/card/index.js +2 -0
- package/dist/data_display/concise_data_table/Column.d.ts +9 -0
- package/dist/data_display/concise_data_table/Column.js +1 -0
- package/dist/data_display/concise_data_table/ConciseListTable.svelte +274 -0
- package/dist/data_display/concise_data_table/ConciseListTable.svelte.d.ts +20 -0
- package/dist/data_display/concise_data_table/DataCell.svelte +28 -0
- package/dist/data_display/concise_data_table/DataCell.svelte.d.ts +9 -0
- package/dist/data_display/concise_data_table/DataRow.svelte +44 -0
- package/dist/data_display/concise_data_table/DataRow.svelte.d.ts +11 -0
- package/dist/data_display/concise_data_table/README.md +177 -0
- package/dist/data_display/concise_data_table/README_CN.md +177 -0
- package/dist/data_display/concise_data_table/TableOptions.d.ts +11 -0
- package/dist/data_display/concise_data_table/TableOptions.js +1 -0
- package/dist/data_display/concise_data_table/index.d.ts +5 -0
- package/dist/data_display/concise_data_table/index.js +2 -0
- package/dist/data_display/concise_data_table/utils.d.ts +6 -0
- package/dist/data_display/concise_data_table/utils.js +38 -0
- package/dist/data_display/list_box/ListBox.svelte +424 -0
- package/dist/data_display/list_box/ListBox.svelte.d.ts +31 -0
- package/dist/data_display/list_box/README.md +158 -0
- package/dist/data_display/list_box/README_CN.md +158 -0
- package/dist/data_display/list_box/index.d.ts +4 -0
- package/dist/data_display/list_box/index.js +2 -0
- package/dist/data_display/tree_view/README.md +246 -0
- package/dist/data_display/tree_view/README_CN.md +240 -0
- package/dist/data_display/tree_view/TreeNodeView.svelte +227 -0
- package/dist/data_display/tree_view/TreeNodeView.svelte.d.ts +22 -0
- package/dist/data_display/tree_view/TreeView.svelte +225 -0
- package/dist/data_display/tree_view/TreeView.svelte.d.ts +45 -0
- package/dist/data_display/tree_view/index.d.ts +7 -0
- package/dist/data_display/tree_view/index.js +2 -0
- package/dist/data_table/DataTable.svelte +249 -0
- package/dist/data_table/DataTable.svelte.d.ts +57 -0
- package/dist/data_table/README.md +728 -0
- package/dist/data_table/README_CN.md +753 -0
- package/dist/data_table/UniDataTable.d.ts +30 -0
- package/dist/data_table/UniDataTable.js +89 -0
- package/dist/data_table/assets/loading.gif +0 -0
- package/dist/data_table/index.d.ts +15 -0
- package/dist/data_table/index.js +4 -0
- package/dist/data_table/lib/ActionsColumn.d.ts +15 -0
- package/dist/data_table/lib/ActionsColumn.js +1 -0
- package/dist/data_table/lib/CellAction.d.ts +9 -0
- package/dist/data_table/lib/CellAction.js +1 -0
- package/dist/data_table/lib/CommonHeaderCell.d.ts +37 -0
- package/dist/data_table/lib/CommonHeaderCell.js +1 -0
- package/dist/data_table/lib/CompareFn.d.ts +3 -0
- package/dist/data_table/lib/CompareFn.js +2 -0
- package/dist/data_table/lib/DataColumn.d.ts +83 -0
- package/dist/data_table/lib/DataColumn.js +1 -0
- package/dist/data_table/lib/FixedColumns.d.ts +15 -0
- package/dist/data_table/lib/FixedColumns.js +1 -0
- package/dist/data_table/lib/FormatCellFn.d.ts +2 -0
- package/dist/data_table/lib/FormatCellFn.js +1 -0
- package/dist/data_table/lib/HrefLink.d.ts +12 -0
- package/dist/data_table/lib/HrefLink.js +1 -0
- package/dist/data_table/lib/IndicatorColumn.d.ts +19 -0
- package/dist/data_table/lib/IndicatorColumn.js +1 -0
- package/dist/data_table/lib/OrderDirection.d.ts +4 -0
- package/dist/data_table/lib/OrderDirection.js +5 -0
- package/dist/data_table/lib/RowAction.d.ts +23 -0
- package/dist/data_table/lib/RowAction.js +1 -0
- package/dist/data_table/lib/TabContext.d.ts +4 -0
- package/dist/data_table/lib/TabContext.js +4 -0
- package/dist/data_table/lib/TableColumns.d.ts +9 -0
- package/dist/data_table/lib/TableColumns.js +12 -0
- package/dist/data_table/lib/TableUtils.d.ts +4 -0
- package/dist/data_table/lib/TableUtils.js +18 -0
- package/dist/data_table/lib/clickOutSide.d.ts +3 -0
- package/dist/data_table/lib/clickOutSide.js +17 -0
- package/dist/data_table/lib/summary.d.ts +40 -0
- package/dist/data_table/lib/summary.js +123 -0
- 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 +23 -0
- package/dist/data_table/parts/ActionCell.svelte.d.ts +8 -0
- package/dist/data_table/parts/ActionsPanel.svelte +108 -0
- package/dist/data_table/parts/ActionsPanel.svelte.d.ts +19 -0
- package/dist/data_table/parts/ActionsRow.svelte +150 -0
- package/dist/data_table/parts/ActionsRow.svelte.d.ts +14 -0
- package/dist/data_table/parts/ContentPanel.svelte +210 -0
- package/dist/data_table/parts/ContentPanel.svelte.d.ts +36 -0
- package/dist/data_table/parts/DataCell.svelte +40 -0
- package/dist/data_table/parts/DataCell.svelte.d.ts +10 -0
- package/dist/data_table/parts/DataRow.svelte +43 -0
- package/dist/data_table/parts/DataRow.svelte.d.ts +13 -0
- package/dist/data_table/parts/FixedColumnsPanel.svelte +195 -0
- package/dist/data_table/parts/FixedColumnsPanel.svelte.d.ts +31 -0
- package/dist/data_table/parts/FixedHeaderPanel.svelte +151 -0
- package/dist/data_table/parts/FixedHeaderPanel.svelte.d.ts +19 -0
- package/dist/data_table/parts/FixedRow.svelte +88 -0
- package/dist/data_table/parts/FixedRow.svelte.d.ts +22 -0
- package/dist/data_table/parts/HrefCell.svelte +47 -0
- package/dist/data_table/parts/HrefCell.svelte.d.ts +8 -0
- package/dist/data_table/parts/PopupMenu.svelte +71 -0
- package/dist/data_table/parts/PopupMenu.svelte.d.ts +9 -0
- package/dist/data_table/parts/TableHeaderPanel.svelte +112 -0
- package/dist/data_table/parts/TableHeaderPanel.svelte.d.ts +17 -0
- package/dist/data_table/parts/TableRow.d.ts +4 -0
- package/dist/data_table/parts/TableRow.js +6 -0
- package/dist/data_table/parts/TableRows.d.ts +7 -0
- package/dist/data_table/parts/TableRows.js +13 -0
- package/dist/data_table/parts/TextCell.svelte +27 -0
- package/dist/data_table/parts/TextCell.svelte.d.ts +8 -0
- package/dist/data_table/parts/TreeRootCell.svelte +2 -0
- package/dist/data_table/parts/TreeRootCell.svelte.d.ts +18 -0
- package/dist/feedback/progress-bar/ProgressBar.svelte +150 -0
- package/dist/feedback/progress-bar/ProgressBar.svelte.d.ts +16 -0
- package/dist/feedback/progress-bar/ProgressStatus.d.ts +6 -0
- package/dist/feedback/progress-bar/ProgressStatus.js +8 -0
- package/dist/feedback/progress-bar/README.md +242 -0
- package/dist/feedback/progress-bar/README_CN.md +242 -0
- package/dist/feedback/progress-bar/index.d.ts +4 -0
- package/dist/feedback/progress-bar/index.js +4 -0
- package/dist/form/FormEditor.svelte +42 -0
- package/dist/form/FormEditor.svelte.d.ts +17 -0
- package/dist/form/attachment_files/AttachmentEditor.svelte +494 -0
- package/dist/form/attachment_files/AttachmentEditor.svelte.d.ts +75 -0
- package/dist/form/attachment_files/AttachmentFile.d.ts +53 -0
- package/dist/form/attachment_files/AttachmentFile.js +84 -0
- 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 +22 -0
- package/dist/form/attachment_files/FileUpload.js +1 -0
- package/dist/form/attachment_files/README.md +111 -0
- package/dist/form/attachment_files/README_CN.md +111 -0
- package/dist/form/attachment_files/UploadTask.d.ts +27 -0
- package/dist/form/attachment_files/UploadTask.js +1 -0
- package/dist/form/attachment_files/index.d.ts +11 -0
- package/dist/form/attachment_files/index.js +6 -0
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +170 -0
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte.d.ts +23 -0
- 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 +81 -0
- package/dist/form/cascade_options_select/OptionsBox.svelte.d.ts +12 -0
- package/dist/form/cascade_options_select/README.md +188 -0
- package/dist/form/cascade_options_select/README_CN.md +188 -0
- package/dist/form/cascade_options_select/index.d.ts +2 -0
- package/dist/form/cascade_options_select/index.js +2 -0
- package/dist/form/checkbox/CheckBox.svelte +222 -0
- package/dist/form/checkbox/CheckBox.svelte.d.ts +18 -0
- package/dist/form/checkbox/README.md +366 -0
- package/dist/form/checkbox/README_CN.md +366 -0
- package/dist/form/checkbox/index.d.ts +2 -0
- package/dist/form/checkbox/index.js +2 -0
- package/dist/form/color_picker/ColorPicker.svelte +173 -0
- package/dist/form/color_picker/ColorPicker.svelte.d.ts +9 -0
- package/dist/form/color_picker/ColorPickerPanel.svelte +178 -0
- package/dist/form/color_picker/ColorPickerPanel.svelte.d.ts +10 -0
- package/dist/form/color_picker/README.md +296 -0
- package/dist/form/color_picker/README_CN.md +296 -0
- package/dist/form/color_picker/index.d.ts +2 -0
- package/dist/form/color_picker/index.js +2 -0
- package/dist/form/common_editor/BasePicker.svelte +48 -0
- package/dist/form/common_editor/BasePicker.svelte.d.ts +11 -0
- package/dist/form/common_editor/CommonEditor.svelte +121 -0
- package/dist/form/common_editor/CommonEditor.svelte.d.ts +15 -0
- package/dist/form/common_editor/CommonEditorProps.d.ts +26 -0
- package/dist/form/common_editor/CommonEditorProps.js +1 -0
- package/dist/form/common_editor/CommonFieldProps.d.ts +56 -0
- package/dist/form/common_editor/CommonFieldProps.js +1 -0
- package/dist/form/common_editor/CommonPicker.svelte +201 -0
- package/dist/form/common_editor/CommonPicker.svelte.d.ts +29 -0
- package/dist/form/common_editor/CommonPickerProps.d.ts +12 -0
- package/dist/form/common_editor/CommonPickerProps.js +1 -0
- package/dist/form/common_editor/CommonPopupEditor.svelte +99 -0
- package/dist/form/common_editor/CommonPopupEditor.svelte.d.ts +18 -0
- package/dist/form/common_editor/NumberInput.svelte +255 -0
- package/dist/form/common_editor/NumberInput.svelte.d.ts +17 -0
- package/dist/form/common_editor/index.d.ts +8 -0
- package/dist/form/common_editor/index.js +6 -0
- package/dist/form/common_range_editor/CommonRangeEditor.svelte +141 -0
- package/dist/form/common_range_editor/CommonRangeEditor.svelte.d.ts +23 -0
- package/dist/form/common_range_editor/index.d.ts +2 -0
- package/dist/form/common_range_editor/index.js +2 -0
- package/dist/form/date_picker/DatePicker.svelte +71 -0
- package/dist/form/date_picker/DatePicker.svelte.d.ts +11 -0
- package/dist/form/date_picker/DateTimePicker.svelte +168 -0
- package/dist/form/date_picker/DateTimePicker.svelte.d.ts +14 -0
- package/dist/form/date_picker/README.md +341 -0
- package/dist/form/date_picker/README_CN.md +341 -0
- package/dist/form/date_picker/ScrollBar.svelte +129 -0
- package/dist/form/date_picker/ScrollBar.svelte.d.ts +10 -0
- package/dist/form/date_picker/TimePanel.svelte +95 -0
- package/dist/form/date_picker/TimePanel.svelte.d.ts +11 -0
- package/dist/form/date_picker/index.d.ts +4 -0
- package/dist/form/date_picker/index.js +4 -0
- package/dist/form/date_range/DateRangeEditor.svelte +123 -0
- package/dist/form/date_range/DateRangeEditor.svelte.d.ts +21 -0
- package/dist/form/date_range/README.md +250 -0
- package/dist/form/date_range/README_CN.md +250 -0
- package/dist/form/date_range/index.d.ts +2 -0
- package/dist/form/date_range/index.js +2 -0
- 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 +211 -0
- package/dist/form/group_box/group-check-box/GroupCheckBox.svelte.d.ts +32 -0
- package/dist/form/group_box/group-check-box/README.md +336 -0
- package/dist/form/group_box/group-check-box/README_CN.md +336 -0
- package/dist/form/group_box/group-check-box/index.d.ts +2 -0
- package/dist/form/group_box/group-check-box/index.js +2 -0
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +159 -0
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte.d.ts +29 -0
- package/dist/form/group_box/group-radio-box/README.md +910 -0
- package/dist/form/group_box/group-radio-box/README_CN.md +910 -0
- package/dist/form/group_box/group-radio-box/index.d.ts +2 -0
- package/dist/form/group_box/group-radio-box/index.js +2 -0
- 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_editor/ImagePreview.svelte +151 -0
- package/dist/form/image_editor/ImagePreview.svelte.d.ts +7 -0
- 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 +257 -0
- package/dist/form/input_options_select/InputOptionsSelect.svelte.d.ts +18 -0
- package/dist/form/input_options_select/README.md +73 -0
- package/dist/form/input_options_select/README_CN.md +73 -0
- package/dist/form/input_options_select/index.d.ts +4 -0
- package/dist/form/input_options_select/index.js +2 -0
- package/dist/form/lookup_editor/LookupEditor.svelte +85 -0
- package/dist/form/lookup_editor/LookupEditor.svelte.d.ts +16 -0
- package/dist/form/lookup_editor/README.md +345 -0
- package/dist/form/lookup_editor/README_CN.md +345 -0
- package/dist/form/lookup_editor/index.d.ts +2 -0
- package/dist/form/lookup_editor/index.js +2 -0
- package/dist/form/memo_editor/MemoEditor.svelte +176 -0
- package/dist/form/memo_editor/MemoEditor.svelte.d.ts +18 -0
- package/dist/form/memo_editor/README.md +283 -0
- package/dist/form/memo_editor/README_CN.md +283 -0
- package/dist/form/memo_editor/index.d.ts +2 -0
- package/dist/form/memo_editor/index.js +2 -0
- package/dist/form/number_editor/NumberEditor.svelte +113 -0
- package/dist/form/number_editor/NumberEditor.svelte.d.ts +20 -0
- package/dist/form/number_editor/README.md +356 -0
- package/dist/form/number_editor/README_CN.md +356 -0
- package/dist/form/number_editor/index.d.ts +2 -0
- package/dist/form/number_editor/index.js +2 -0
- package/dist/form/number_range/NumberRange.svelte +69 -0
- package/dist/form/number_range/NumberRange.svelte.d.ts +20 -0
- package/dist/form/number_range/README.md +498 -0
- package/dist/form/number_range/README_CN.md +488 -0
- package/dist/form/number_range/index.d.ts +2 -0
- package/dist/form/number_range/index.js +2 -0
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte +229 -0
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte.d.ts +21 -0
- package/dist/form/options_multi_select/README.md +251 -0
- package/dist/form/options_multi_select/README_CN.md +242 -0
- package/dist/form/options_multi_select/index.d.ts +2 -0
- package/dist/form/options_multi_select/index.js +2 -0
- package/dist/form/options_select/OptionsSelect.svelte +208 -0
- package/dist/form/options_select/OptionsSelect.svelte.d.ts +43 -0
- package/dist/form/options_select/README.md +371 -0
- package/dist/form/options_select/README_CN.md +368 -0
- package/dist/form/options_select/index.d.ts +2 -0
- package/dist/form/options_select/index.js +2 -0
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +96 -0
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte.d.ts +15 -0
- package/dist/form/prompts_text_editor/README.md +320 -0
- package/dist/form/prompts_text_editor/README_CN.md +320 -0
- package/dist/form/prompts_text_editor/index.d.ts +2 -0
- package/dist/form/prompts_text_editor/index.js +2 -0
- package/dist/form/radio_button/README.md +372 -0
- package/dist/form/radio_button/README_CN.md +363 -0
- package/dist/form/radio_button/RadioButton.svelte +177 -0
- package/dist/form/radio_button/RadioButton.svelte.d.ts +17 -0
- package/dist/form/radio_button/index.d.ts +2 -0
- package/dist/form/radio_button/index.js +2 -0
- package/dist/form/search_box/README.md +301 -0
- package/dist/form/search_box/README_CN.md +301 -0
- package/dist/form/search_box/SearchBox.svelte +91 -0
- package/dist/form/search_box/SearchBox.svelte.d.ts +11 -0
- package/dist/form/search_box/index.d.ts +2 -0
- package/dist/form/search_box/index.js +2 -0
- package/dist/form/switch/README.md +231 -0
- package/dist/form/switch/README_CN.md +255 -0
- package/dist/form/switch/Switch.svelte +138 -0
- package/dist/form/switch/Switch.svelte.d.ts +12 -0
- package/dist/form/switch/index.d.ts +2 -0
- package/dist/form/switch/index.js +2 -0
- package/dist/form/text_editor/PasswordEditor.svelte +70 -0
- package/dist/form/text_editor/PasswordEditor.svelte.d.ts +9 -0
- package/dist/form/text_editor/PasswordEditor_README.md +551 -0
- package/dist/form/text_editor/PasswordEditor_README_CN.md +551 -0
- package/dist/form/text_editor/README.md +356 -0
- package/dist/form/text_editor/README_CN.md +356 -0
- package/dist/form/text_editor/TextEditor.svelte +91 -0
- package/dist/form/text_editor/TextEditor.svelte.d.ts +16 -0
- package/dist/form/text_editor/index.d.ts +4 -0
- package/dist/form/text_editor/index.js +4 -0
- package/dist/form/time_editor/README.md +386 -0
- package/dist/form/time_editor/README_CN.md +386 -0
- package/dist/form/time_editor/TimeEditor.svelte +231 -0
- package/dist/form/time_editor/TimeEditor.svelte.d.ts +16 -0
- package/dist/form/time_editor/index.d.ts +2 -0
- package/dist/form/time_editor/index.js +2 -0
- package/dist/form/types.d.ts +8 -0
- package/dist/form/types.js +1 -0
- package/dist/form/unit-number-editor/README.md +352 -0
- package/dist/form/unit-number-editor/README_CN.md +352 -0
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte +221 -0
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte.d.ts +30 -0
- package/dist/form/unit-number-editor/UnitOption.d.ts +26 -0
- package/dist/form/unit-number-editor/UnitOption.js +1 -0
- package/dist/form/unit-number-editor/index.d.ts +4 -0
- package/dist/form/unit-number-editor/index.js +3 -0
- package/dist/general/button/Button.svelte +72 -0
- package/dist/general/button/Button.svelte.d.ts +23 -0
- package/dist/general/button/IconButton.svelte +60 -0
- package/dist/general/button/IconButton.svelte.d.ts +21 -0
- package/dist/general/button/IconButton_README.md +522 -0
- package/dist/general/button/IconButton_README_CN.md +522 -0
- package/dist/general/button/README.md +361 -0
- package/dist/general/button/README_CN.md +357 -0
- package/dist/general/button/TextButton.svelte +74 -0
- package/dist/general/button/TextButton.svelte.d.ts +22 -0
- package/dist/general/button/TextButton_README.md +569 -0
- package/dist/general/button/TextButton_README_CN.md +569 -0
- package/dist/general/button/index.d.ts +8 -0
- package/dist/general/button/index.js +6 -0
- package/dist/general/icon/Icon.svelte +90 -0
- package/dist/general/icon/Icon.svelte.d.ts +14 -0
- package/dist/general/icon/README.md +255 -0
- package/dist/general/icon/README_CN.md +255 -0
- package/dist/general/icon/index.d.ts +2 -0
- package/dist/general/icon/index.js +2 -0
- package/dist/general/separator/README.md +203 -0
- package/dist/general/separator/README_CN.md +203 -0
- package/dist/general/separator/Separator.svelte +24 -0
- package/dist/general/separator/Separator.svelte.d.ts +7 -0
- package/dist/general/separator/index.d.ts +2 -0
- package/dist/general/separator/index.js +2 -0
- package/dist/general/split/README.md +312 -0
- package/dist/general/split/README_CN.md +312 -0
- package/dist/general/split/Split.svelte +150 -0
- package/dist/general/split/Split.svelte.d.ts +10 -0
- package/dist/general/split/index.d.ts +2 -0
- package/dist/general/split/index.js +2 -0
- package/dist/general/tag/README.md +319 -0
- package/dist/general/tag/README_CN.md +319 -0
- package/dist/general/tag/Tag.svelte +193 -0
- package/dist/general/tag/Tag.svelte.d.ts +17 -0
- package/dist/general/tag/index.d.ts +2 -0
- package/dist/general/tag/index.js +2 -0
- package/dist/i18nRes/i18nRes.d.ts +47 -0
- package/dist/i18nRes/i18nRes.js +49 -0
- package/dist/i18nRes/index.d.ts +2 -0
- package/dist/i18nRes/index.js +2 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +4 -0
- package/dist/layouts/action_bar/ActionBar.svelte +60 -0
- package/dist/layouts/action_bar/ActionBar.svelte.d.ts +12 -0
- package/dist/layouts/action_bar/ButtonAction.d.ts +1 -0
- package/dist/layouts/action_bar/ButtonAction.js +1 -0
- package/dist/layouts/action_bar/README.md +304 -0
- package/dist/layouts/action_bar/README_CN.md +304 -0
- package/dist/layouts/action_bar/index.d.ts +5 -0
- package/dist/layouts/action_bar/index.js +2 -0
- package/dist/layouts/app_top_bar/AppTopBar.svelte +83 -0
- package/dist/layouts/app_top_bar/AppTopBar.svelte.d.ts +12 -0
- package/dist/layouts/app_top_bar/README.md +258 -0
- package/dist/layouts/app_top_bar/README_CN.md +258 -0
- package/dist/layouts/app_top_bar/index.d.ts +2 -0
- package/dist/layouts/app_top_bar/index.js +2 -0
- package/dist/layouts/box/Box.svelte +104 -0
- package/dist/layouts/box/Box.svelte.d.ts +15 -0
- package/dist/layouts/box/README.md +312 -0
- package/dist/layouts/box/README_CN.md +312 -0
- package/dist/layouts/box/index.d.ts +2 -0
- package/dist/layouts/box/index.js +2 -0
- package/dist/layouts/criteria_field/CriteriaField.svelte +97 -0
- package/dist/layouts/criteria_field/CriteriaField.svelte.d.ts +13 -0
- package/dist/layouts/criteria_field/README.md +277 -0
- package/dist/layouts/criteria_field/README_CN.md +277 -0
- package/dist/layouts/criteria_field/index.d.ts +2 -0
- package/dist/layouts/criteria_field/index.js +2 -0
- package/dist/layouts/form_field/FormField.svelte +139 -0
- package/dist/layouts/form_field/FormField.svelte.d.ts +19 -0
- package/dist/layouts/form_field/README.md +252 -0
- package/dist/layouts/form_field/README_CN.md +251 -0
- package/dist/layouts/form_field/index.d.ts +2 -0
- package/dist/layouts/form_field/index.js +2 -0
- package/dist/layouts/form_panel/flex_form/CellField.svelte +42 -0
- package/dist/layouts/form_panel/flex_form/CellField.svelte.d.ts +13 -0
- package/dist/layouts/form_panel/flex_form/EmptyCell.svelte +26 -0
- package/dist/layouts/form_panel/flex_form/EmptyCell.svelte.d.ts +6 -0
- package/dist/layouts/form_panel/flex_form/FlexForm.svelte +44 -0
- package/dist/layouts/form_panel/flex_form/FlexForm.svelte.d.ts +9 -0
- package/dist/layouts/form_panel/flex_form/README.md +202 -0
- package/dist/layouts/form_panel/flex_form/README_CN.md +202 -0
- package/dist/layouts/form_panel/flex_form/RowBreak.svelte +11 -0
- package/dist/layouts/form_panel/flex_form/RowBreak.svelte.d.ts +18 -0
- package/dist/layouts/form_panel/flex_form/index.d.ts +6 -0
- package/dist/layouts/form_panel/flex_form/index.js +6 -0
- package/dist/layouts/form_panel/flex_row_form/Cell.svelte +42 -0
- package/dist/layouts/form_panel/flex_row_form/Cell.svelte.d.ts +13 -0
- package/dist/layouts/form_panel/flex_row_form/FormContainer.svelte +45 -0
- package/dist/layouts/form_panel/flex_row_form/FormContainer.svelte.d.ts +10 -0
- package/dist/layouts/form_panel/flex_row_form/README.md +224 -0
- package/dist/layouts/form_panel/flex_row_form/README_CN.md +224 -0
- package/dist/layouts/form_panel/flex_row_form/Row.svelte +37 -0
- package/dist/layouts/form_panel/flex_row_form/Row.svelte.d.ts +12 -0
- package/dist/layouts/form_panel/flex_row_form/index.d.ts +7 -0
- package/dist/layouts/form_panel/flex_row_form/index.js +7 -0
- package/dist/layouts/form_panel/grid_form/EmptyCell.svelte +32 -0
- package/dist/layouts/form_panel/grid_form/EmptyCell.svelte.d.ts +9 -0
- package/dist/layouts/form_panel/grid_form/GridField.svelte +48 -0
- package/dist/layouts/form_panel/grid_form/GridField.svelte.d.ts +22 -0
- package/dist/layouts/form_panel/grid_form/GridForm.svelte +49 -0
- package/dist/layouts/form_panel/grid_form/GridForm.svelte.d.ts +13 -0
- package/dist/layouts/form_panel/grid_form/README.md +217 -0
- package/dist/layouts/form_panel/grid_form/README_CN.md +217 -0
- package/dist/layouts/form_panel/grid_form/index.d.ts +5 -0
- package/dist/layouts/form_panel/grid_form/index.js +5 -0
- package/dist/layouts/form_panel/index.d.ts +4 -0
- package/dist/layouts/form_panel/index.js +4 -0
- package/dist/layouts/page/Page.svelte +98 -0
- package/dist/layouts/page/Page.svelte.d.ts +19 -0
- package/dist/layouts/page/PageHeader.svelte +59 -0
- package/dist/layouts/page/PageHeader.svelte.d.ts +12 -0
- package/dist/layouts/page/README.md +286 -0
- package/dist/layouts/page/README_CN.md +286 -0
- package/dist/layouts/page/index.d.ts +6 -0
- package/dist/layouts/page/index.js +4 -0
- package/dist/lib/index.d.ts +7 -0
- package/dist/lib/index.js +3 -0
- package/dist/navigation/breadcrumbs/Breadcrumb.d.ts +4 -0
- package/dist/navigation/breadcrumbs/Breadcrumb.js +1 -0
- package/dist/navigation/breadcrumbs/Breadcrumbs.svelte +91 -0
- package/dist/navigation/breadcrumbs/Breadcrumbs.svelte.d.ts +12 -0
- package/dist/navigation/breadcrumbs/README.md +257 -0
- package/dist/navigation/breadcrumbs/README_CN.md +257 -0
- package/dist/navigation/breadcrumbs/index.d.ts +4 -0
- package/dist/navigation/breadcrumbs/index.js +2 -0
- package/dist/navigation/nav_menu/MenuItem.d.ts +9 -0
- package/dist/navigation/nav_menu/MenuItem.js +1 -0
- package/dist/navigation/nav_menu/Menus.d.ts +12 -0
- package/dist/navigation/nav_menu/Menus.js +15 -0
- package/dist/navigation/nav_menu/NavigatorMenu.svelte +318 -0
- package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +17 -0
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +183 -0
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +18 -0
- package/dist/navigation/nav_menu/README.md +224 -0
- package/dist/navigation/nav_menu/README_CN.md +224 -0
- package/dist/navigation/nav_menu/index.d.ts +8 -0
- package/dist/navigation/nav_menu/index.js +4 -0
- package/dist/navigation/navigator/NavItemStatus.d.ts +5 -0
- package/dist/navigation/navigator/NavItemStatus.js +6 -0
- package/dist/navigation/navigator/Navigator.svelte +156 -0
- package/dist/navigation/navigator/Navigator.svelte.d.ts +15 -0
- package/dist/navigation/navigator/README.md +304 -0
- package/dist/navigation/navigator/README_CN.md +304 -0
- package/dist/navigation/navigator/index.d.ts +4 -0
- package/dist/navigation/navigator/index.js +4 -0
- package/dist/navigation/page-stack/PageStack.svelte +160 -0
- package/dist/navigation/page-stack/PageStack.svelte.d.ts +24 -0
- package/dist/navigation/page-stack/PageStackContext.d.ts +25 -0
- package/dist/navigation/page-stack/PageStackContext.js +12 -0
- package/dist/navigation/page-stack/PageStackFrame.svelte +24 -0
- package/dist/navigation/page-stack/PageStackFrame.svelte.d.ts +11 -0
- package/dist/navigation/page-stack/README.md +154 -0
- package/dist/navigation/page-stack/README_CN.md +154 -0
- package/dist/navigation/page-stack/index.d.ts +6 -0
- package/dist/navigation/page-stack/index.js +4 -0
- package/dist/navigation/pagination/Pagination.svelte +300 -0
- package/dist/navigation/pagination/Pagination.svelte.d.ts +15 -0
- package/dist/navigation/pagination/README.md +248 -0
- package/dist/navigation/pagination/README_CN.md +248 -0
- package/dist/navigation/pagination/index.d.ts +2 -0
- package/dist/navigation/pagination/index.js +2 -0
- package/dist/navigation/progress_step_bar/ProgressStep.d.ts +20 -0
- package/dist/navigation/progress_step_bar/ProgressStep.js +6 -0
- package/dist/navigation/progress_step_bar/ProgressStepBar.svelte +56 -0
- package/dist/navigation/progress_step_bar/ProgressStepBar.svelte.d.ts +11 -0
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +197 -0
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte.d.ts +12 -0
- package/dist/navigation/progress_step_bar/README.md +247 -0
- package/dist/navigation/progress_step_bar/README_CN.md +247 -0
- package/dist/navigation/progress_step_bar/index.d.ts +6 -0
- package/dist/navigation/progress_step_bar/index.js +5 -0
- package/dist/navigation/tabs/README.md +353 -0
- package/dist/navigation/tabs/README_CN.md +353 -0
- package/dist/navigation/tabs/Tabs.svelte +400 -0
- package/dist/navigation/tabs/Tabs.svelte.d.ts +28 -0
- package/dist/navigation/tabs/index.d.ts +4 -0
- package/dist/navigation/tabs/index.js +2 -0
- package/dist/overlay/common/DateFormats.d.ts +5 -0
- package/dist/overlay/common/DateFormats.js +6 -0
- package/dist/overlay/common/FloatingPanel.svelte +69 -0
- package/dist/overlay/common/FloatingPanel.svelte.d.ts +15 -0
- package/dist/overlay/common/FullscreenOverlay.svelte +42 -0
- package/dist/overlay/common/FullscreenOverlay.svelte.d.ts +8 -0
- package/dist/overlay/common/ModalPopover.svelte +56 -0
- package/dist/overlay/common/ModalPopover.svelte.d.ts +11 -0
- package/dist/overlay/common/Popover.svelte +155 -0
- package/dist/overlay/common/Popover.svelte.d.ts +17 -0
- package/dist/overlay/common/escapeClose.d.ts +28 -0
- package/dist/overlay/common/escapeClose.js +47 -0
- package/dist/overlay/common/focusTrap.d.ts +8 -0
- package/dist/overlay/common/focusTrap.js +83 -0
- package/dist/overlay/common/mountSingleton.d.ts +28 -0
- package/dist/overlay/common/mountSingleton.js +48 -0
- package/dist/overlay/common/outsideClick.d.ts +28 -0
- package/dist/overlay/common/outsideClick.js +20 -0
- package/dist/overlay/common/scrollLock.d.ts +8 -0
- package/dist/overlay/common/scrollLock.js +49 -0
- package/dist/overlay/common/topside-utils.d.ts +3 -0
- package/dist/overlay/common/topside-utils.js +19 -0
- package/dist/overlay/common/utils.d.ts +13 -0
- package/dist/overlay/common/utils.js +136 -0
- package/dist/overlay/context-menu/ContextMenu.svelte.d.ts +22 -0
- package/dist/overlay/context-menu/ContextMenu.svelte.js +53 -0
- package/dist/overlay/context-menu/ContextMenuItem.d.ts +31 -0
- package/dist/overlay/context-menu/ContextMenuItem.js +1 -0
- package/dist/overlay/context-menu/ContextMenuPanel.svelte +211 -0
- package/dist/overlay/context-menu/ContextMenuPanel.svelte.d.ts +3 -0
- package/dist/overlay/context-menu/README.md +361 -0
- package/dist/overlay/context-menu/README_CN.md +361 -0
- package/dist/overlay/context-menu/index.d.ts +6 -0
- package/dist/overlay/context-menu/index.js +3 -0
- package/dist/overlay/dialog/BeforeClose.d.ts +4 -0
- package/dist/overlay/dialog/BeforeClose.js +1 -0
- package/dist/overlay/dialog/CommonDialog.svelte +58 -0
- package/dist/overlay/dialog/CommonDialog.svelte.d.ts +22 -0
- package/dist/overlay/dialog/Dialog.svelte +255 -0
- package/dist/overlay/dialog/Dialog.svelte.d.ts +29 -0
- package/dist/overlay/dialog/DialogBoard.svelte +15 -0
- package/dist/overlay/dialog/DialogBoard.svelte.d.ts +18 -0
- package/dist/overlay/dialog/DialogManager.svelte.d.ts +24 -0
- package/dist/overlay/dialog/DialogManager.svelte.js +58 -0
- package/dist/overlay/dialog/DialogWrapper.svelte +12 -0
- package/dist/overlay/dialog/DialogWrapper.svelte.d.ts +8 -0
- package/dist/overlay/dialog/IDialog.d.ts +14 -0
- package/dist/overlay/dialog/IDialog.js +2 -0
- package/dist/overlay/dialog/README.md +540 -0
- package/dist/overlay/dialog/README_CN.md +540 -0
- package/dist/overlay/dialog/index.d.ts +14 -0
- package/dist/overlay/dialog/index.js +7 -0
- package/dist/overlay/drawer/Drawer.svelte +116 -0
- package/dist/overlay/drawer/Drawer.svelte.d.ts +11 -0
- package/dist/overlay/drawer/README.md +249 -0
- package/dist/overlay/drawer/README_CN.md +249 -0
- package/dist/overlay/drawer/index.d.ts +2 -0
- package/dist/overlay/drawer/index.js +2 -0
- package/dist/overlay/indicator/Indicator.svelte.d.ts +14 -0
- package/dist/overlay/indicator/Indicator.svelte.js +27 -0
- package/dist/overlay/indicator/IndicatorPanel.svelte +43 -0
- package/dist/overlay/indicator/IndicatorPanel.svelte.d.ts +18 -0
- package/dist/overlay/indicator/README.md +142 -0
- package/dist/overlay/indicator/README_CN.md +142 -0
- package/dist/overlay/indicator/index.d.ts +2 -0
- package/dist/overlay/indicator/index.js +2 -0
- package/dist/overlay/message-box/IMessageBox.d.ts +17 -0
- package/dist/overlay/message-box/IMessageBox.js +6 -0
- package/dist/overlay/message-box/MessageBox.svelte.d.ts +36 -0
- package/dist/overlay/message-box/MessageBox.svelte.js +77 -0
- package/dist/overlay/message-box/MessageBoxPanel.svelte +247 -0
- package/dist/overlay/message-box/MessageBoxPanel.svelte.d.ts +3 -0
- package/dist/overlay/message-box/README.md +92 -0
- package/dist/overlay/message-box/README_CN.md +92 -0
- package/dist/overlay/message-box/index.d.ts +5 -0
- package/dist/overlay/message-box/index.js +4 -0
- package/dist/overlay/toast/README.md +59 -0
- package/dist/overlay/toast/README_CN.md +59 -0
- package/dist/overlay/toast/Toast.svelte.d.ts +18 -0
- package/dist/overlay/toast/Toast.svelte.js +49 -0
- package/dist/overlay/toast/ToastPanel.svelte +56 -0
- package/dist/overlay/toast/ToastPanel.svelte.d.ts +3 -0
- package/dist/overlay/toast/index.d.ts +2 -0
- package/dist/overlay/toast/index.js +2 -0
- package/dist/overlay/tooltip/README.md +334 -0
- package/dist/overlay/tooltip/README_CN.md +334 -0
- package/dist/overlay/tooltip/Tooltip.svelte +280 -0
- package/dist/overlay/tooltip/Tooltip.svelte.d.ts +7 -0
- package/dist/overlay/tooltip/index.d.ts +2 -0
- package/dist/overlay/tooltip/index.js +2 -0
- package/dist/topside-elements.css +1753 -0
- package/dist/topsideContext.d.ts +10 -0
- package/dist/topsideContext.js +59 -0
- package/dist/types.d.ts +184 -0
- package/dist/types.js +9 -0
- package/dist/utils/exclude.d.ts +1 -0
- package/dist/utils/exclude.js +3 -0
- package/dist/utils/prefixFilter.d.ts +5 -0
- package/dist/utils/prefixFilter.js +33 -0
- package/docs/NAMING.md +364 -0
- package/docs/NAMING_CN.md +364 -0
- package/docs/components/README.md +135 -0
- package/docs/components/accordion/README.md +71 -0
- package/docs/components/accordion/example.svelte +8 -0
- package/docs/components/action-bar/README.md +114 -0
- package/docs/components/action-bar/example.svelte +7 -0
- package/docs/components/app-top-bar/README.md +60 -0
- package/docs/components/app-top-bar/example.svelte +9 -0
- package/docs/components/attachment-editor/README.md +224 -0
- package/docs/components/attachment-editor/example.svelte +22 -0
- package/docs/components/box/README.md +63 -0
- package/docs/components/box/example.svelte +10 -0
- package/docs/components/breadcrumbs/README.md +86 -0
- package/docs/components/breadcrumbs/example.svelte +11 -0
- package/docs/components/button/README.md +110 -0
- package/docs/components/button/example.svelte +11 -0
- package/docs/components/card/README.md +127 -0
- package/docs/components/card/example.svelte +10 -0
- package/docs/components/cascade-options-select/README.md +168 -0
- package/docs/components/cascade-options-select/example.svelte +18 -0
- package/docs/components/checkbox/README.md +103 -0
- package/docs/components/checkbox/example.svelte +15 -0
- package/docs/components/classic-layout/README.md +76 -0
- package/docs/components/classic-layout/example.svelte +16 -0
- package/docs/components/color-picker/README.md +132 -0
- package/docs/components/color-picker/example.svelte +16 -0
- package/docs/components/columns-layout/README.md +74 -0
- package/docs/components/columns-layout/example.svelte +16 -0
- package/docs/components/common-dialog/README.md +118 -0
- package/docs/components/common-dialog/example.svelte +13 -0
- package/docs/components/concise-data-table/README.md +296 -0
- package/docs/components/concise-data-table/example.svelte +16 -0
- package/docs/components/context-menu/README.md +99 -0
- package/docs/components/context-menu/example.svelte +10 -0
- package/docs/components/criteria-field/README.md +70 -0
- package/docs/components/criteria-field/example.svelte +10 -0
- package/docs/components/data-table/README.md +388 -0
- package/docs/components/data-table/example.svelte +23 -0
- package/docs/components/date-picker/README.md +136 -0
- package/docs/components/date-picker/example.svelte +16 -0
- package/docs/components/date-range/README.md +122 -0
- package/docs/components/date-range/example.svelte +15 -0
- package/docs/components/date-time-picker/README.md +142 -0
- package/docs/components/date-time-picker/example.svelte +16 -0
- package/docs/components/dialog/README.md +181 -0
- package/docs/components/dialog/example.svelte +13 -0
- package/docs/components/dialog-board/README.md +41 -0
- package/docs/components/dialog-board/example.svelte +5 -0
- package/docs/components/drawer/README.md +70 -0
- package/docs/components/drawer/example.svelte +12 -0
- package/docs/components/flex-form/README.md +55 -0
- package/docs/components/flex-form/example.svelte +7 -0
- package/docs/components/flex-row-form/README.md +56 -0
- package/docs/components/flex-row-form/example.svelte +7 -0
- package/docs/components/form-field/README.md +84 -0
- package/docs/components/form-field/example.svelte +10 -0
- package/docs/components/full-screen-overlay/README.md +66 -0
- package/docs/components/full-screen-overlay/example.svelte +11 -0
- package/docs/components/grid-form/README.md +85 -0
- package/docs/components/grid-form/example.svelte +9 -0
- package/docs/components/group-check-box/README.md +147 -0
- package/docs/components/group-check-box/example.svelte +21 -0
- package/docs/components/group-radio-box/README.md +144 -0
- package/docs/components/group-radio-box/example.svelte +21 -0
- package/docs/components/header-layout/README.md +65 -0
- package/docs/components/header-layout/example.svelte +12 -0
- package/docs/components/icon/README.md +88 -0
- package/docs/components/icon/example.svelte +9 -0
- package/docs/components/icon-button/README.md +100 -0
- package/docs/components/icon-button/example.svelte +11 -0
- package/docs/components/image-editor/README.md +262 -0
- package/docs/components/image-editor/example.svelte +21 -0
- package/docs/components/indicator/README.md +53 -0
- package/docs/components/indicator/example.svelte +14 -0
- package/docs/components/input-options-select/README.md +163 -0
- package/docs/components/input-options-select/example.svelte +16 -0
- package/docs/components/list-box/ListItem.svelte +14 -0
- package/docs/components/list-box/README.md +220 -0
- package/docs/components/list-box/example.svelte +61 -0
- package/docs/components/lookup-editor/README.md +137 -0
- package/docs/components/lookup-editor/example.svelte +16 -0
- package/docs/components/memo-editor/README.md +143 -0
- package/docs/components/memo-editor/example.svelte +16 -0
- package/docs/components/message-box/README.md +68 -0
- package/docs/components/message-box/example.svelte +10 -0
- package/docs/components/navigator/README.md +76 -0
- package/docs/components/navigator/example.svelte +14 -0
- package/docs/components/navigator-menu/README.md +116 -0
- package/docs/components/navigator-menu/example.svelte +12 -0
- package/docs/components/number-editor/README.md +144 -0
- package/docs/components/number-editor/example.svelte +16 -0
- package/docs/components/number-range/README.md +116 -0
- package/docs/components/number-range/example.svelte +15 -0
- package/docs/components/options-multi-select/README.md +161 -0
- package/docs/components/options-multi-select/example.svelte +20 -0
- package/docs/components/options-select/README.md +160 -0
- package/docs/components/options-select/example.svelte +21 -0
- package/docs/components/page/README.md +77 -0
- package/docs/components/page/example.svelte +10 -0
- package/docs/components/page-stack/README.md +67 -0
- package/docs/components/page-stack/example.svelte +7 -0
- package/docs/components/pagination/README.md +105 -0
- package/docs/components/pagination/example.svelte +13 -0
- package/docs/components/pagination-panel/README.md +135 -0
- package/docs/components/pagination-panel/example.svelte +17 -0
- package/docs/components/password-editor/README.md +128 -0
- package/docs/components/password-editor/example.svelte +16 -0
- package/docs/components/popup-hint/README.md +44 -0
- package/docs/components/popup-hint/example.svelte +5 -0
- package/docs/components/progress-bar/README.md +74 -0
- package/docs/components/progress-bar/example.svelte +8 -0
- package/docs/components/progress-step-bar/README.md +102 -0
- package/docs/components/progress-step-bar/example.svelte +11 -0
- package/docs/components/prompts-text-editor/README.md +148 -0
- package/docs/components/prompts-text-editor/example.svelte +16 -0
- package/docs/components/radio-button/README.md +121 -0
- package/docs/components/radio-button/example.svelte +18 -0
- package/docs/components/rows-layout/README.md +74 -0
- package/docs/components/rows-layout/example.svelte +16 -0
- package/docs/components/search-box/README.md +136 -0
- package/docs/components/search-box/example.svelte +16 -0
- package/docs/components/separator/README.md +44 -0
- package/docs/components/separator/example.svelte +7 -0
- package/docs/components/sidebar-layout/README.md +65 -0
- package/docs/components/sidebar-layout/example.svelte +12 -0
- package/docs/components/split/README.md +48 -0
- package/docs/components/split/example.svelte +8 -0
- package/docs/components/switch/README.md +77 -0
- package/docs/components/switch/example.svelte +11 -0
- package/docs/components/tabs/README.md +142 -0
- package/docs/components/tabs/example.svelte +22 -0
- package/docs/components/tag/README.md +74 -0
- package/docs/components/tag/example.svelte +9 -0
- package/docs/components/text-button/README.md +109 -0
- package/docs/components/text-button/example.svelte +11 -0
- package/docs/components/text-editor/README.md +147 -0
- package/docs/components/text-editor/example.svelte +16 -0
- package/docs/components/time-editor/README.md +130 -0
- package/docs/components/time-editor/example.svelte +16 -0
- package/docs/components/toast/README.md +52 -0
- package/docs/components/toast/example.svelte +9 -0
- package/docs/components/tooltip/README.md +44 -0
- package/docs/components/tooltip/example.svelte +5 -0
- package/docs/components/transfer/README.md +116 -0
- package/docs/components/transfer/example.svelte +13 -0
- package/docs/components/tree-view/README.md +179 -0
- package/docs/components/tree-view/example.svelte +27 -0
- package/docs/components/unit-number-editor/README.md +195 -0
- package/docs/components/unit-number-editor/example.svelte +17 -0
- package/package.json +515 -0
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
# Dialog
|
|
2
|
+
|
|
3
|
+
> **Renamed in 5.1.0**: this document uses the names from the [API Naming Guide](../../../docs/NAMING.md); the old names `DialogCloseConfirm`, `closeConfirm`, `confirmHandler`, `enableConfirm`, `onClose` were removed in 5.1.0 (no compatibility aliases are kept).
|
|
4
|
+
|
|
5
|
+
A flexible modal dialog system built with Svelte 5, offering stack-based management, a Promise API, draggable dialogs, configurable action buttons, and close confirmation. Exposes three things: `Dialog` (the base customizable dialog component), `CommonDialog` (simplified confirm/cancel wrapper), and `dialogManager` (a global stack controller that auto-mounts and returns `Promise<ModalResult>`).
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **Stack-based management**: the controller maintains a stack, so multiple dialogs can be open simultaneously
|
|
10
|
+
- **Promise API**: `dialogManager.show(component, params)` returns `Promise<ModalResult>` — callers can `await` the close result
|
|
11
|
+
- **Auto-mount**: the controller mounts `DialogBoard` to `document.body` on first `show` call — no need to manually place `<DialogBoard/>` in your app root
|
|
12
|
+
- **Global imperative API**: `window.Dialog.show(component, params)` works too, so any code (services, stores, utilities) can trigger a dialog
|
|
13
|
+
- **Multiple dialog types**: `Dialog`, `CommonDialog`, and `dialogManager` for different scenarios
|
|
14
|
+
- **Draggable**: drag the title bar to reposition the dialog
|
|
15
|
+
- **Action buttons**: configurable button actions; returning `true` auto-closes
|
|
16
|
+
- **Close confirmation**: optional confirmation before closing (useful for unsaved changes)
|
|
17
|
+
- **ESC to close**: ESC closes the dialog (picker ESC handling takes precedence automatically)
|
|
18
|
+
- **Lifecycle hooks**: `onclose` callback + Promise resolve, both carrying a `ModalResult`
|
|
19
|
+
- **Customizable styling**: flexible theming and sizing via inline styles
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @ticatec/topside-elements
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Import
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import Dialog, { dialogManager, CommonDialog, ModalResult } from "@ticatec/topside-elements/Dialog";
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Setup
|
|
34
|
+
|
|
35
|
+
**New projects need no setup.** The controller auto-mounts to `document.body` the first time you call `dialogManager.show(...)`.
|
|
36
|
+
|
|
37
|
+
> **Legacy compatibility**: if you previously placed `<DialogBoard/>` in your app root, you can leave it or remove it. When multiple boards coexist, only the first one to mount actually renders the stack — dialogs are never duplicated.
|
|
38
|
+
|
|
39
|
+
## Two usage modes
|
|
40
|
+
|
|
41
|
+
### Mode 1: Imperative (recommended)
|
|
42
|
+
|
|
43
|
+
Wrap the dialog content in a Svelte component (a `<Dialog>` shell plus your form fields), then call `dialogManager.show` and `await` the result.
|
|
44
|
+
|
|
45
|
+
**Dialog component** (receives `user` as initial data, `onSave` as the save callback):
|
|
46
|
+
|
|
47
|
+
```svelte
|
|
48
|
+
<!-- UserDetailsDialog.svelte -->
|
|
49
|
+
<script lang="ts">
|
|
50
|
+
import Dialog from "@ticatec/topside-elements/Dialog";
|
|
51
|
+
import FormContainer, {Row, CellField} from "@ticatec/topside-elements/FlexRowForm";
|
|
52
|
+
import TextEditor from "@ticatec/topside-elements/TextEditor";
|
|
53
|
+
import RadioButton from "@ticatec/topside-elements/RadioButton";
|
|
54
|
+
import OptionsSelect from "@ticatec/topside-elements/OptionsSelect";
|
|
55
|
+
import DatePicker from "@ticatec/topside-elements/DatePicker";
|
|
56
|
+
import MemoEditor from "@ticatec/topside-elements/MemoEditor";
|
|
57
|
+
import type {ButtonAction} from "@ticatec/topside-elements/types";
|
|
58
|
+
|
|
59
|
+
let {user, onSave}: { user: any, onSave?: (data: any) => Promise<boolean> } = $props();
|
|
60
|
+
|
|
61
|
+
let name = $state(user?.name ?? "");
|
|
62
|
+
let gender = $state(user?.gender ?? "M");
|
|
63
|
+
let birthday = $state(user?.birthday);
|
|
64
|
+
let occupation = $state(user?.occupation ?? "dev");
|
|
65
|
+
let email = $state(user?.email ?? "");
|
|
66
|
+
let bio = $state(user?.bio ?? "");
|
|
67
|
+
|
|
68
|
+
const genderOptions = [
|
|
69
|
+
{code: "M", text: "Male"},
|
|
70
|
+
{code: "F", text: "Female"},
|
|
71
|
+
{code: "O", text: "Other"}
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
const occupationOptions = [
|
|
75
|
+
{code: "dev", text: "Engineer"},
|
|
76
|
+
{code: "design", text: "Designer"},
|
|
77
|
+
{code: "pm", text: "Product Manager"}
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
// Returning true from the handler auto-closes the dialog with MR_OK
|
|
81
|
+
const actions: ButtonAction[] = [
|
|
82
|
+
{
|
|
83
|
+
label: "Save",
|
|
84
|
+
type: "primary",
|
|
85
|
+
handler: async () => {
|
|
86
|
+
const ok = await onSave?.({name, gender, birthday, occupation, email, bio});
|
|
87
|
+
return ok;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
];
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
<Dialog title="User Details" {actions} width="500px">
|
|
94
|
+
<FormContainer>
|
|
95
|
+
<Row>
|
|
96
|
+
<CellField label="Name" span={12} required>
|
|
97
|
+
<TextEditor bind:value={name} placeholder="Enter name"/>
|
|
98
|
+
</CellField>
|
|
99
|
+
</Row>
|
|
100
|
+
|
|
101
|
+
<Row>
|
|
102
|
+
<CellField label="Gender" span={12}>
|
|
103
|
+
{#each genderOptions as opt}
|
|
104
|
+
<RadioButton label={opt.text} value={opt.code} bind:group={gender}/>
|
|
105
|
+
{/each}
|
|
106
|
+
</CellField>
|
|
107
|
+
</Row>
|
|
108
|
+
|
|
109
|
+
<Row>
|
|
110
|
+
<CellField label="Birthday" span={12}>
|
|
111
|
+
<DatePicker bind:value={birthday}/>
|
|
112
|
+
</CellField>
|
|
113
|
+
</Row>
|
|
114
|
+
|
|
115
|
+
<Row>
|
|
116
|
+
<CellField label="Occupation" span={12}>
|
|
117
|
+
<OptionsSelect bind:value={occupation} options={occupationOptions}/>
|
|
118
|
+
</CellField>
|
|
119
|
+
</Row>
|
|
120
|
+
|
|
121
|
+
<Row>
|
|
122
|
+
<CellField label="Email" span={12}>
|
|
123
|
+
<TextEditor bind:value={email} placeholder="example@domain.com"/>
|
|
124
|
+
</CellField>
|
|
125
|
+
</Row>
|
|
126
|
+
|
|
127
|
+
<Row>
|
|
128
|
+
<CellField label="Bio" span={12}>
|
|
129
|
+
<MemoEditor bind:value={bio} rows={4}/>
|
|
130
|
+
</CellField>
|
|
131
|
+
</Row>
|
|
132
|
+
</FormContainer>
|
|
133
|
+
</Dialog>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Caller** (`await dialogManager.show` to get the close result):
|
|
137
|
+
|
|
138
|
+
```svelte
|
|
139
|
+
<script lang="ts">
|
|
140
|
+
import {dialogManager, ModalResult} from "@ticatec/topside-elements/Dialog";
|
|
141
|
+
import UserDetailsDialog from "./UserDetailsDialog.svelte";
|
|
142
|
+
|
|
143
|
+
async function editUser(user: any) {
|
|
144
|
+
const result = await dialogManager.show(UserDetailsDialog, {
|
|
145
|
+
user,
|
|
146
|
+
onSave: async (data) => {
|
|
147
|
+
await api.updateUser(data);
|
|
148
|
+
return true; // returning true makes the Dialog action handler return true, triggering close
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
if (result === ModalResult.MR_OK) {
|
|
152
|
+
await refreshList();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
</script>
|
|
156
|
+
|
|
157
|
+
<button onclick={() => editUser(currentUser)}>Edit</button>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
You can also use the global `window.Dialog` (useful from non-Svelte modules like services / stores):
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
const result = await window.Dialog.show(MyDialog, { foo: "bar" });
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
> **`window.Dialog.showModal` is deprecated**: retained as a compatibility alias that internally delegates to `show` but discards the Promise. Existing code keeps working; new code should use `show`.
|
|
167
|
+
|
|
168
|
+
### Mode 2: Direct render
|
|
169
|
+
|
|
170
|
+
If you don't want the stack / Promise and just want to conditionally render a dialog inline, you can use `<Dialog>` directly:
|
|
171
|
+
|
|
172
|
+
```svelte
|
|
173
|
+
<script>
|
|
174
|
+
import Dialog, { ModalResult } from "@ticatec/topside-elements/Dialog";
|
|
175
|
+
|
|
176
|
+
let showDialog = $state(false);
|
|
177
|
+
|
|
178
|
+
function handleClose(result) {
|
|
179
|
+
console.log("Dialog closed with:", result);
|
|
180
|
+
showDialog = false;
|
|
181
|
+
}
|
|
182
|
+
</script>
|
|
183
|
+
|
|
184
|
+
{#if showDialog}
|
|
185
|
+
<Dialog
|
|
186
|
+
title="My Dialog"
|
|
187
|
+
onclose={handleClose}
|
|
188
|
+
width="500px"
|
|
189
|
+
height="300px"
|
|
190
|
+
>
|
|
191
|
+
<p>Dialog content...</p>
|
|
192
|
+
</Dialog>
|
|
193
|
+
{/if}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
In direct-render mode there is no `dialogId` context, so `close()` invokes `onclose` itself.
|
|
197
|
+
|
|
198
|
+
## Components Overview
|
|
199
|
+
|
|
200
|
+
### Dialog
|
|
201
|
+
|
|
202
|
+
The base dialog component with full customization. Works in both modes.
|
|
203
|
+
|
|
204
|
+
### CommonDialog
|
|
205
|
+
|
|
206
|
+
A simplified wrapper with a built-in confirm button — convenient for confirm/cancel flows.
|
|
207
|
+
|
|
208
|
+
### dialogManager
|
|
209
|
+
|
|
210
|
+
The global stack controller. Maintains the dialog stack and exposes `show` / `resolveWith`.
|
|
211
|
+
|
|
212
|
+
## Dialog Component
|
|
213
|
+
|
|
214
|
+
### Props
|
|
215
|
+
|
|
216
|
+
| Prop | Type | Default | Description |
|
|
217
|
+
|------|------|---------|-------------|
|
|
218
|
+
| `title` | `string` | `''` | Title-bar text |
|
|
219
|
+
| `width` | `string` | `'unset'` | Dialog width (CSS value) |
|
|
220
|
+
| `height` | `string` | `'unset'` | Dialog height (CSS value) |
|
|
221
|
+
| `actions` | `ButtonActions \| null` | `null` | Action button array. Use `null` entries as separators |
|
|
222
|
+
| `beforeClose` | `BeforeClose \| null` | `null` | Confirmation function called before closing (when result is `MR_CANCEL` or `MR_CLOSE`). Should return `Promise<boolean>` |
|
|
223
|
+
| `content$style` | `string` | `''` | Custom inline styles for the content area |
|
|
224
|
+
| `hideClose` | `boolean` | `false` | When `true`, hides the close (X) icon in the title bar |
|
|
225
|
+
| `closeAction` | `ButtonAction \| null` | `null` | Override the default close button (label, type, etc.). The handler is always wired to internal close |
|
|
226
|
+
| `onclose` | `OnClose \| null` | `null` | Callback when dialog closes. Receives a `ModalResult` (see [Modal Results](#modal-results)) |
|
|
227
|
+
| `dialog$style` | `string` | `''` | Custom inline styles for the dialog container |
|
|
228
|
+
|
|
229
|
+
### Methods
|
|
230
|
+
|
|
231
|
+
| Method | Description |
|
|
232
|
+
|--------|-------------|
|
|
233
|
+
| `close(result: ModalResult)` | Programmatically close the dialog with a result. Call via `bind:this` |
|
|
234
|
+
|
|
235
|
+
### Events
|
|
236
|
+
|
|
237
|
+
| Event | Description |
|
|
238
|
+
|-------|-------------|
|
|
239
|
+
| `onclose` | Fires when the dialog closes. Receives `ModalResult.MR_OK` / `MR_CANCEL` / `MR_CLOSE` |
|
|
240
|
+
|
|
241
|
+
## CommonDialog Component
|
|
242
|
+
|
|
243
|
+
Simplified wrapper that automatically provides a "Confirm" button. Works in both modes.
|
|
244
|
+
|
|
245
|
+
### Basic Usage
|
|
246
|
+
|
|
247
|
+
```svelte
|
|
248
|
+
<script>
|
|
249
|
+
import { CommonDialog } from "@ticatec/topside-elements/Dialog";
|
|
250
|
+
|
|
251
|
+
let showDialog = $state(false);
|
|
252
|
+
|
|
253
|
+
async function handleConfirm() {
|
|
254
|
+
console.log("Confirmed!");
|
|
255
|
+
return true; // returning true auto-closes
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function handleClose(result) {
|
|
259
|
+
console.log("Dialog result:", result);
|
|
260
|
+
showDialog = false;
|
|
261
|
+
}
|
|
262
|
+
</script>
|
|
263
|
+
|
|
264
|
+
{#if showDialog}
|
|
265
|
+
<CommonDialog
|
|
266
|
+
title="Confirm Action"
|
|
267
|
+
onconfirm={handleConfirm}
|
|
268
|
+
onclose={handleClose}
|
|
269
|
+
width="400px"
|
|
270
|
+
>
|
|
271
|
+
<p>Are you sure you want to proceed?</p>
|
|
272
|
+
</CommonDialog>
|
|
273
|
+
{/if}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Props
|
|
277
|
+
|
|
278
|
+
| Prop | Type | Default | Description |
|
|
279
|
+
|------|------|---------|-------------|
|
|
280
|
+
| `title` | `string` | `''` | Dialog title |
|
|
281
|
+
| `width` | `string` | `'unset'` | Dialog width |
|
|
282
|
+
| `height` | `string` | `'unset'` | Dialog height |
|
|
283
|
+
| `beforeClose` | `BeforeClose \| null` | `null` | Close confirmation function |
|
|
284
|
+
| `content$style` | `string` | `''` | Content area styles |
|
|
285
|
+
| `confirmable` | `boolean` | `true` | Enable/disable the confirm button |
|
|
286
|
+
| `onconfirm` | `(() => Promise<any>) \| null` | `null` | Confirm button handler |
|
|
287
|
+
| `confirmText` | `string \| null` | `null` | Custom confirm button text (defaults to i18n "Confirm") |
|
|
288
|
+
| `onclose` | `OnClose \| null` | `null` | Close callback receiving `ModalResult` |
|
|
289
|
+
|
|
290
|
+
## Global API
|
|
291
|
+
|
|
292
|
+
### `dialogManager.show(component, params): Promise<ModalResult>`
|
|
293
|
+
|
|
294
|
+
Opens a dialog, passing `params` as props to `component`. The Promise resolves when the dialog closes, with the user's close result.
|
|
295
|
+
|
|
296
|
+
```typescript
|
|
297
|
+
import { dialogManager, ModalResult } from "@ticatec/topside-elements/Dialog";
|
|
298
|
+
|
|
299
|
+
const result = await dialogManager.show(MyDialog, {
|
|
300
|
+
title: "Example",
|
|
301
|
+
onclose: (r) => console.log("closed:", r) // you can also get the result here
|
|
302
|
+
});
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### `window.Dialog.show(component, params): Promise<ModalResult>`
|
|
306
|
+
|
|
307
|
+
Same as above but attached to `window`, so non-Svelte modules (services / stores / utilities) can call it. `window.Dialog` is set at module load — ready before the first call.
|
|
308
|
+
|
|
309
|
+
### `window.Dialog.showModal(component, params): void`
|
|
310
|
+
|
|
311
|
+
**Deprecated.** Compatibility alias that discards the Promise return value. New code should use `show`.
|
|
312
|
+
|
|
313
|
+
## Action Buttons
|
|
314
|
+
|
|
315
|
+
### Button Configuration
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
type ButtonAction = {
|
|
319
|
+
label: string;
|
|
320
|
+
type?: "primary" | "secondary" | "danger";
|
|
321
|
+
disabled?: boolean;
|
|
322
|
+
handler?: (event: MouseEvent) => Promise<boolean> | boolean;
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
type ButtonActions = (ButtonAction | null)[];
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
Actions returning `true` automatically close the dialog and resolve with `ModalResult.MR_OK`. Use `null` entries as separators in the button row.
|
|
329
|
+
|
|
330
|
+
### Example
|
|
331
|
+
|
|
332
|
+
```svelte
|
|
333
|
+
<script>
|
|
334
|
+
const actions = [
|
|
335
|
+
{
|
|
336
|
+
label: "Delete",
|
|
337
|
+
type: "danger",
|
|
338
|
+
handler: async () => {
|
|
339
|
+
const ok = await confirmDelete();
|
|
340
|
+
if (ok) {
|
|
341
|
+
await deleteItem();
|
|
342
|
+
return true; // close
|
|
343
|
+
}
|
|
344
|
+
return false; // keep open
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
null, // separator
|
|
348
|
+
{
|
|
349
|
+
label: "Save",
|
|
350
|
+
type: "primary",
|
|
351
|
+
disabled: !isValid,
|
|
352
|
+
handler: async () => {
|
|
353
|
+
await saveData();
|
|
354
|
+
return true;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
];
|
|
358
|
+
</script>
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## Close Confirmation
|
|
362
|
+
|
|
363
|
+
Add confirmation before closing with unsaved changes (triggered on X click / ESC / Cancel button):
|
|
364
|
+
|
|
365
|
+
```svelte
|
|
366
|
+
<script>
|
|
367
|
+
import { ModalResult } from "@ticatec/topside-elements/Dialog";
|
|
368
|
+
import messageBox from "@ticatec/topside-elements/MessageBox";
|
|
369
|
+
|
|
370
|
+
let originalData = JSON.stringify(data);
|
|
371
|
+
|
|
372
|
+
const beforeClose = async () => {
|
|
373
|
+
const hasChanges = JSON.stringify(data) !== originalData;
|
|
374
|
+
if (hasChanges) {
|
|
375
|
+
return await messageBox.showConfirm("You have unsaved changes. Close anyway?", { title: "Confirm Close" })
|
|
376
|
+
=== ModalResult.MR_OK;
|
|
377
|
+
}
|
|
378
|
+
return true;
|
|
379
|
+
};
|
|
380
|
+
</script>
|
|
381
|
+
|
|
382
|
+
<Dialog {beforeClose}>
|
|
383
|
+
<!-- content -->
|
|
384
|
+
</Dialog>
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## Modal Results
|
|
388
|
+
|
|
389
|
+
`ModalResult` is shared with `MessageBox`:
|
|
390
|
+
|
|
391
|
+
```typescript
|
|
392
|
+
enum ModalResult {
|
|
393
|
+
MR_OK = 1, // user confirmed (clicked an action that returned true)
|
|
394
|
+
MR_CANCEL = 2, // user cancelled (clicked Cancel / X / ESC)
|
|
395
|
+
MR_CLOSE = 3 // programmatic close (currently unused — reserved for distinguishing X from Cancel)
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### Handling Results
|
|
400
|
+
|
|
401
|
+
```svelte
|
|
402
|
+
<script>
|
|
403
|
+
import { ModalResult } from "@ticatec/topside-elements/Dialog";
|
|
404
|
+
|
|
405
|
+
function handleDialogClose(result) {
|
|
406
|
+
if (result === ModalResult.MR_OK) {
|
|
407
|
+
console.log("User confirmed");
|
|
408
|
+
} else {
|
|
409
|
+
console.log("User cancelled");
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
</script>
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## Stack Behavior
|
|
416
|
+
|
|
417
|
+
The controller maintains a stack internally; every `show` pushes a new entry:
|
|
418
|
+
|
|
419
|
+
```typescript
|
|
420
|
+
// Two dialogs open at once — the second one stacks on top
|
|
421
|
+
await dialogManager.show(Dialog, { title: "Bottom" });
|
|
422
|
+
await dialogManager.show(Dialog, { title: "Top" });
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
Each entry holds its own Promise resolver, independent of the others. Native `<dialog>` top-layer rendering guarantees the topmost dialog is always visually on top — no manual z-index management. Closing a stacked dialog resolves its Promise with the appropriate result, and the controller pops the entry.
|
|
426
|
+
|
|
427
|
+
## Dialog Sizing and Positioning
|
|
428
|
+
|
|
429
|
+
### Responsive Sizing
|
|
430
|
+
|
|
431
|
+
```svelte
|
|
432
|
+
<!-- Fixed size -->
|
|
433
|
+
<Dialog width="500px" height="400px">
|
|
434
|
+
|
|
435
|
+
<!-- Responsive size -->
|
|
436
|
+
<Dialog width="90vw" height="80vh">
|
|
437
|
+
|
|
438
|
+
<!-- Auto size with max constraints -->
|
|
439
|
+
<Dialog
|
|
440
|
+
width="min(800px, 90vw)"
|
|
441
|
+
height="min(600px, 80vh)"
|
|
442
|
+
>
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### Custom Styling
|
|
446
|
+
|
|
447
|
+
```svelte
|
|
448
|
+
<Dialog
|
|
449
|
+
dialog$style="border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,0.3);"
|
|
450
|
+
content$style="padding: 2rem; background: #f9f9f9;"
|
|
451
|
+
>
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
## Validation and Error Handling
|
|
455
|
+
|
|
456
|
+
Building on the `UserDetailsDialog` from [Mode 1](#mode-1-imperative-recommended), just add validation logic to the action handler:
|
|
457
|
+
|
|
458
|
+
```svelte
|
|
459
|
+
<script lang="ts">
|
|
460
|
+
// ... same field declarations as Mode 1 ...
|
|
461
|
+
|
|
462
|
+
let errors = $state<Record<string, string>>({});
|
|
463
|
+
|
|
464
|
+
function validate(): boolean {
|
|
465
|
+
errors = {};
|
|
466
|
+
if (!name) errors.name = "Name is required";
|
|
467
|
+
if (!email) errors.email = "Email is required";
|
|
468
|
+
else if (!email.includes("@")) errors.email = "Invalid email";
|
|
469
|
+
return Object.keys(errors).length === 0;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
const actions: ButtonAction[] = [
|
|
473
|
+
{
|
|
474
|
+
label: "Save",
|
|
475
|
+
type: "primary",
|
|
476
|
+
handler: async () => {
|
|
477
|
+
if (!validate()) return false; // validation failed → keep open
|
|
478
|
+
try {
|
|
479
|
+
await onSave?.({name, gender, birthday, occupation, email, bio});
|
|
480
|
+
return true; // success → close and resolve MR_OK
|
|
481
|
+
} catch (e) {
|
|
482
|
+
console.error("Save failed:", e);
|
|
483
|
+
return false;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
];
|
|
488
|
+
</script>
|
|
489
|
+
|
|
490
|
+
<!-- Pass error down to fields -->
|
|
491
|
+
<CellField label="Name" span={12} required>
|
|
492
|
+
<TextEditor bind:value={name} placeholder="Enter name" error={errors.name}/>
|
|
493
|
+
</CellField>
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
Key points:
|
|
497
|
+
- Handler returns `false` → dialog stays open
|
|
498
|
+
- Handler returns `true` (or omits return) → close and `resolve(MR_OK)`
|
|
499
|
+
- Handler throws → catch it yourself, otherwise the Promise rejects and the caller's `await` throws
|
|
500
|
+
|
|
501
|
+
## Best Practices
|
|
502
|
+
|
|
503
|
+
1. **Prefer the imperative API (`dialogManager.show`)**: it returns a Promise, makes result handling ergonomic, and works from services / stores.
|
|
504
|
+
2. **No need to manually mount `DialogBoard`**: the controller auto-mounts. Existing `<DialogBoard/>` placements in legacy code can stay or be removed.
|
|
505
|
+
3. **Return `false` from action handlers** to keep the dialog open (e.g., when validation fails).
|
|
506
|
+
4. **Use `beforeClose` for dirty forms** — show a MessageBox asking if the user really wants to leave unsaved changes.
|
|
507
|
+
5. **Pick appropriate sizes** — 400–600px for simple dialogs, 700–900px for form dialogs, responsive sizing for mobile.
|
|
508
|
+
6. **Stacking is supported, but don't overuse it**: multiple simultaneous dialogs can confuse users. Reach for it when genuinely needed.
|
|
509
|
+
|
|
510
|
+
## TypeScript Support
|
|
511
|
+
|
|
512
|
+
The `window.Dialog` type is injected via a `declare global` inside the package — usually no extra setup is needed. If autocomplete isn't working, add the declaration manually:
|
|
513
|
+
|
|
514
|
+
```typescript
|
|
515
|
+
import type { IDialog } from "@ticatec/topside-elements/Dialog";
|
|
516
|
+
|
|
517
|
+
declare global {
|
|
518
|
+
interface Window {
|
|
519
|
+
Dialog: IDialog;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
## Migration Guide (from the previous version)
|
|
525
|
+
|
|
526
|
+
| Old API | New API | Notes |
|
|
527
|
+
|---|---|---|
|
|
528
|
+
| `<DialogBoard/>` in app root | nothing | Controller auto-mounts; legacy placement can stay |
|
|
529
|
+
| `window.Dialog.showModal(Component, params)` | `window.Dialog.show(Component, params)` or `dialogManager.show(...)` | `showModal` still works (compat alias) but discards the Promise |
|
|
530
|
+
| `ModalResult.Ok` / `ModalResult.Cancel` | `ModalResult.MR_OK` / `ModalResult.MR_CANCEL` | Enum unified with MessageBox |
|
|
531
|
+
| `onclose(result)` callback | `onclose(result)` + `await dialogManager.show(...)` | Both supported; Promise is the new way |
|
|
532
|
+
|
|
533
|
+
## Related Components
|
|
534
|
+
|
|
535
|
+
- [MessageBox](../message-box/README.md) — Global modal for confirmations and acknowledged messages
|
|
536
|
+
- [Toast](../toast/README.md) — Non-blocking transient notifications
|
|
537
|
+
- [Indicator](../indicator/README.md) — Full-screen loading spinner
|
|
538
|
+
- [Drawer](../drawer/README.md) — Slide-out side panel
|
|
539
|
+
- [ContextMenu](../context-menu/README.md) — Right-click menu with keyboard navigation
|
|
540
|
+
- [Tooltip](../tooltip/README.md) — Hover-based contextual hints
|