@gcsa/console-react 0.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/dist/ConsoleHeader.d.ts +9 -0
- package/dist/ConsoleHeader.js +21 -0
- package/dist/ConsoleHeader.js.map +1 -0
- package/dist/ConsolePage.d.ts +8 -0
- package/dist/ConsolePage.js +14 -0
- package/dist/ConsolePage.js.map +1 -0
- package/dist/ConsoleShell.d.ts +23 -0
- package/dist/ConsoleShell.js +133 -0
- package/dist/ConsoleShell.js.map +1 -0
- package/dist/ConsoleSidebar.d.ts +11 -0
- package/dist/ConsoleSidebar.js +52 -0
- package/dist/ConsoleSidebar.js.map +1 -0
- package/dist/GcsaAlert.d.ts +9 -0
- package/dist/GcsaAlert.js +24 -0
- package/dist/GcsaAlert.js.map +1 -0
- package/dist/GcsaAutoComplete.d.ts +15 -0
- package/dist/GcsaAutoComplete.js +106 -0
- package/dist/GcsaAutoComplete.js.map +1 -0
- package/dist/GcsaAvatar.d.ts +8 -0
- package/dist/GcsaAvatar.js +13 -0
- package/dist/GcsaAvatar.js.map +1 -0
- package/dist/GcsaBadge.d.ts +7 -0
- package/dist/GcsaBadge.js +8 -0
- package/dist/GcsaBadge.js.map +1 -0
- package/dist/GcsaBrandMark.d.ts +4 -0
- package/dist/GcsaBrandMark.js +21 -0
- package/dist/GcsaBrandMark.js.map +1 -0
- package/dist/GcsaBreadcrumb.d.ts +9 -0
- package/dist/GcsaBreadcrumb.js +20 -0
- package/dist/GcsaBreadcrumb.js.map +1 -0
- package/dist/GcsaButton.d.ts +8 -0
- package/dist/GcsaButton.js +38 -0
- package/dist/GcsaButton.js.map +1 -0
- package/dist/GcsaCalendar.d.ts +11 -0
- package/dist/GcsaCalendar.js +35 -0
- package/dist/GcsaCalendar.js.map +1 -0
- package/dist/GcsaCard.d.ts +8 -0
- package/dist/GcsaCard.js +11 -0
- package/dist/GcsaCard.js.map +1 -0
- package/dist/GcsaCascader.d.ts +14 -0
- package/dist/GcsaCascader.js +91 -0
- package/dist/GcsaCascader.js.map +1 -0
- package/dist/GcsaChatPanel.d.ts +43 -0
- package/dist/GcsaChatPanel.js +180 -0
- package/dist/GcsaChatPanel.js.map +1 -0
- package/dist/GcsaCheckbox.d.ts +11 -0
- package/dist/GcsaCheckbox.js +45 -0
- package/dist/GcsaCheckbox.js.map +1 -0
- package/dist/GcsaCollapse.d.ts +16 -0
- package/dist/GcsaCollapse.js +20 -0
- package/dist/GcsaCollapse.js.map +1 -0
- package/dist/GcsaConfigProvider.d.ts +13 -0
- package/dist/GcsaConfigProvider.js +68 -0
- package/dist/GcsaConfigProvider.js.map +1 -0
- package/dist/GcsaDataTable.d.ts +119 -0
- package/dist/GcsaDataTable.js +508 -0
- package/dist/GcsaDataTable.js.map +1 -0
- package/dist/GcsaDatePicker.d.ts +16 -0
- package/dist/GcsaDatePicker.js +211 -0
- package/dist/GcsaDatePicker.js.map +1 -0
- package/dist/GcsaDateRangePicker.d.ts +17 -0
- package/dist/GcsaDateRangePicker.js +222 -0
- package/dist/GcsaDateRangePicker.js.map +1 -0
- package/dist/GcsaDateTimePicker.d.ts +13 -0
- package/dist/GcsaDateTimePicker.js +300 -0
- package/dist/GcsaDateTimePicker.js.map +1 -0
- package/dist/GcsaDescriptions.d.ts +9 -0
- package/dist/GcsaDescriptions.js +11 -0
- package/dist/GcsaDescriptions.js.map +1 -0
- package/dist/GcsaDivider.d.ts +4 -0
- package/dist/GcsaDivider.js +8 -0
- package/dist/GcsaDivider.js.map +1 -0
- package/dist/GcsaDrawer.d.ts +15 -0
- package/dist/GcsaDrawer.js +68 -0
- package/dist/GcsaDrawer.js.map +1 -0
- package/dist/GcsaDropdown.d.ts +20 -0
- package/dist/GcsaDropdown.js +46 -0
- package/dist/GcsaDropdown.js.map +1 -0
- package/dist/GcsaEmpty.d.ts +9 -0
- package/dist/GcsaEmpty.js +16 -0
- package/dist/GcsaEmpty.js.map +1 -0
- package/dist/GcsaField.d.ts +11 -0
- package/dist/GcsaField.js +26 -0
- package/dist/GcsaField.js.map +1 -0
- package/dist/GcsaForm.d.ts +13 -0
- package/dist/GcsaForm.js +60 -0
- package/dist/GcsaForm.js.map +1 -0
- package/dist/GcsaFormField.d.ts +16 -0
- package/dist/GcsaFormField.js +39 -0
- package/dist/GcsaFormField.js.map +1 -0
- package/dist/GcsaIcon.d.ts +7 -0
- package/dist/GcsaIcon.js +17 -0
- package/dist/GcsaIcon.js.map +1 -0
- package/dist/GcsaImagePreview.d.ts +8 -0
- package/dist/GcsaImagePreview.js +18 -0
- package/dist/GcsaImagePreview.js.map +1 -0
- package/dist/GcsaInput.d.ts +13 -0
- package/dist/GcsaInput.js +76 -0
- package/dist/GcsaInput.js.map +1 -0
- package/dist/GcsaInputGroup.d.ts +11 -0
- package/dist/GcsaInputGroup.js +27 -0
- package/dist/GcsaInputGroup.js.map +1 -0
- package/dist/GcsaInputNumber.d.ts +18 -0
- package/dist/GcsaInputNumber.js +108 -0
- package/dist/GcsaInputNumber.js.map +1 -0
- package/dist/GcsaLoading.d.ts +24 -0
- package/dist/GcsaLoading.js +101 -0
- package/dist/GcsaLoading.js.map +1 -0
- package/dist/GcsaLoadingMask.d.ts +8 -0
- package/dist/GcsaLoadingMask.js +39 -0
- package/dist/GcsaLoadingMask.js.map +1 -0
- package/dist/GcsaMarkdownRenderer.d.ts +6 -0
- package/dist/GcsaMarkdownRenderer.js +32 -0
- package/dist/GcsaMarkdownRenderer.js.map +1 -0
- package/dist/GcsaMenu.d.ts +16 -0
- package/dist/GcsaMenu.js +241 -0
- package/dist/GcsaMenu.js.map +1 -0
- package/dist/GcsaModal.d.ts +10 -0
- package/dist/GcsaModal.js +45 -0
- package/dist/GcsaModal.js.map +1 -0
- package/dist/GcsaMultiSelect.d.ts +23 -0
- package/dist/GcsaMultiSelect.js +149 -0
- package/dist/GcsaMultiSelect.js.map +1 -0
- package/dist/GcsaPagination.d.ts +17 -0
- package/dist/GcsaPagination.js +108 -0
- package/dist/GcsaPagination.js.map +1 -0
- package/dist/GcsaPopconfirm.d.ts +18 -0
- package/dist/GcsaPopconfirm.js +68 -0
- package/dist/GcsaPopconfirm.js.map +1 -0
- package/dist/GcsaPopover.d.ts +30 -0
- package/dist/GcsaPopover.js +65 -0
- package/dist/GcsaPopover.js.map +1 -0
- package/dist/GcsaPopoverClose.d.ts +6 -0
- package/dist/GcsaPopoverClose.js +9 -0
- package/dist/GcsaPopoverClose.js.map +1 -0
- package/dist/GcsaProgress.d.ts +5 -0
- package/dist/GcsaProgress.js +18 -0
- package/dist/GcsaProgress.js.map +1 -0
- package/dist/GcsaRadioGroup.d.ts +9 -0
- package/dist/GcsaRadioGroup.js +37 -0
- package/dist/GcsaRadioGroup.js.map +1 -0
- package/dist/GcsaResult.d.ts +9 -0
- package/dist/GcsaResult.js +14 -0
- package/dist/GcsaResult.js.map +1 -0
- package/dist/GcsaRow.d.ts +7 -0
- package/dist/GcsaRow.js +8 -0
- package/dist/GcsaRow.js.map +1 -0
- package/dist/GcsaSelect.d.ts +20 -0
- package/dist/GcsaSelect.js +117 -0
- package/dist/GcsaSelect.js.map +1 -0
- package/dist/GcsaSkeleton.d.ts +6 -0
- package/dist/GcsaSkeleton.js +19 -0
- package/dist/GcsaSkeleton.js.map +1 -0
- package/dist/GcsaSpace.d.ts +7 -0
- package/dist/GcsaSpace.js +14 -0
- package/dist/GcsaSpace.js.map +1 -0
- package/dist/GcsaSpin.d.ts +7 -0
- package/dist/GcsaSpin.js +16 -0
- package/dist/GcsaSpin.js.map +1 -0
- package/dist/GcsaStatistic.d.ts +8 -0
- package/dist/GcsaStatistic.js +11 -0
- package/dist/GcsaStatistic.js.map +1 -0
- package/dist/GcsaSteps.d.ts +10 -0
- package/dist/GcsaSteps.js +54 -0
- package/dist/GcsaSteps.js.map +1 -0
- package/dist/GcsaSwitch.d.ts +11 -0
- package/dist/GcsaSwitch.js +36 -0
- package/dist/GcsaSwitch.js.map +1 -0
- package/dist/GcsaTabs.d.ts +15 -0
- package/dist/GcsaTabs.js +39 -0
- package/dist/GcsaTabs.js.map +1 -0
- package/dist/GcsaTag.d.ts +7 -0
- package/dist/GcsaTag.js +9 -0
- package/dist/GcsaTag.js.map +1 -0
- package/dist/GcsaTextarea.d.ts +13 -0
- package/dist/GcsaTextarea.js +76 -0
- package/dist/GcsaTextarea.js.map +1 -0
- package/dist/GcsaTimePicker.d.ts +12 -0
- package/dist/GcsaTimePicker.js +221 -0
- package/dist/GcsaTimePicker.js.map +1 -0
- package/dist/GcsaTimeline.d.ts +5 -0
- package/dist/GcsaTimeline.js +19 -0
- package/dist/GcsaTimeline.js.map +1 -0
- package/dist/GcsaToastStack.d.ts +11 -0
- package/dist/GcsaToastStack.js +45 -0
- package/dist/GcsaToastStack.js.map +1 -0
- package/dist/GcsaTooltip.d.ts +17 -0
- package/dist/GcsaTooltip.js +43 -0
- package/dist/GcsaTooltip.js.map +1 -0
- package/dist/GcsaTransfer.d.ts +11 -0
- package/dist/GcsaTransfer.js +95 -0
- package/dist/GcsaTransfer.js.map +1 -0
- package/dist/GcsaTree.d.ts +17 -0
- package/dist/GcsaTree.js +38 -0
- package/dist/GcsaTree.js.map +1 -0
- package/dist/GcsaTypography.d.ts +8 -0
- package/dist/GcsaTypography.js +14 -0
- package/dist/GcsaTypography.js.map +1 -0
- package/dist/GcsaUpload.d.ts +24 -0
- package/dist/GcsaUpload.js +146 -0
- package/dist/GcsaUpload.js.map +1 -0
- package/dist/hooks/gcsaFormTypes.d.ts +7 -0
- package/dist/hooks/useDocumentThemeSync.d.ts +3 -0
- package/dist/hooks/useDocumentThemeSync.js +7 -0
- package/dist/hooks/useDocumentThemeSync.js.map +1 -0
- package/dist/hooks/useGcsaComponentSize.d.ts +5 -0
- package/dist/hooks/useGcsaComponentSize.js +21 -0
- package/dist/hooks/useGcsaComponentSize.js.map +1 -0
- package/dist/hooks/useGcsaFormField.d.ts +26 -0
- package/dist/hooks/useGcsaFormField.js +47 -0
- package/dist/hooks/useGcsaFormField.js.map +1 -0
- package/dist/hooks/useGcsaFormSchema.d.ts +7 -0
- package/dist/hooks/useGcsaFormSchema.js +6 -0
- package/dist/hooks/useGcsaFormSchema.js.map +1 -0
- package/dist/hooks/useGcsaLocale.d.ts +4 -0
- package/dist/hooks/useGcsaLocale.js +15 -0
- package/dist/hooks/useGcsaLocale.js.map +1 -0
- package/dist/hooks/useGcsaPopupZIndex.d.ts +6 -0
- package/dist/hooks/useGcsaPopupZIndex.js +18 -0
- package/dist/hooks/useGcsaPopupZIndex.js.map +1 -0
- package/dist/hooks/useGcsaTextCount.d.ts +16 -0
- package/dist/hooks/useGcsaTextCount.js +16 -0
- package/dist/hooks/useGcsaTextCount.js.map +1 -0
- package/dist/hooks/useGcsaTheme.d.ts +7 -0
- package/dist/hooks/useGcsaTheme.js +19 -0
- package/dist/hooks/useGcsaTheme.js.map +1 -0
- package/dist/hooks/useGcsaZIndex.d.ts +13 -0
- package/dist/hooks/useGcsaZIndex.js +37 -0
- package/dist/hooks/useGcsaZIndex.js.map +1 -0
- package/dist/hooks/useMessage.d.ts +6 -0
- package/dist/hooks/useOverlayZIndex.d.ts +8 -0
- package/dist/hooks/useOverlayZIndex.js +14 -0
- package/dist/hooks/useOverlayZIndex.js.map +1 -0
- package/dist/hooks/usePreventHiddenInputScroll.d.ts +13 -0
- package/dist/hooks/usePreventHiddenInputScroll.js +124 -0
- package/dist/hooks/usePreventHiddenInputScroll.js.map +1 -0
- package/dist/icons/iconNames.d.ts +7 -0
- package/dist/icons/iconNames.js +24 -0
- package/dist/icons/iconNames.js.map +1 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/registry.d.ts +3 -0
- package/dist/icons/registry.js +58 -0
- package/dist/icons/registry.js.map +1 -0
- package/dist/icons/svg/alert.svg.js +9 -0
- package/dist/icons/svg/alert.svg.js.map +1 -0
- package/dist/icons/svg/assets.svg.js +9 -0
- package/dist/icons/svg/assets.svg.js.map +1 -0
- package/dist/icons/svg/chat.svg.js +8 -0
- package/dist/icons/svg/chat.svg.js.map +1 -0
- package/dist/icons/svg/check.svg.js +8 -0
- package/dist/icons/svg/check.svg.js.map +1 -0
- package/dist/icons/svg/chevron-down.svg.js +8 -0
- package/dist/icons/svg/chevron-down.svg.js.map +1 -0
- package/dist/icons/svg/chevron-left.svg.js +8 -0
- package/dist/icons/svg/chevron-left.svg.js.map +1 -0
- package/dist/icons/svg/chevron-right.svg.js +8 -0
- package/dist/icons/svg/chevron-right.svg.js.map +1 -0
- package/dist/icons/svg/chevron-up.svg.js +8 -0
- package/dist/icons/svg/chevron-up.svg.js.map +1 -0
- package/dist/icons/svg/close.svg.js +6 -0
- package/dist/icons/svg/close.svg.js.map +1 -0
- package/dist/icons/svg/dashboard.svg.js +8 -0
- package/dist/icons/svg/dashboard.svg.js.map +1 -0
- package/dist/icons/svg/menu.svg.js +8 -0
- package/dist/icons/svg/menu.svg.js.map +1 -0
- package/dist/icons/svg/plus.svg.js +6 -0
- package/dist/icons/svg/plus.svg.js.map +1 -0
- package/dist/icons/svg/result-empty.svg.js +6 -0
- package/dist/icons/svg/result-empty.svg.js.map +1 -0
- package/dist/icons/svg/settings.svg.js +8 -0
- package/dist/icons/svg/settings.svg.js.map +1 -0
- package/dist/icons/svg/users.svg.js +11 -0
- package/dist/icons/svg/users.svg.js.map +1 -0
- package/dist/index.d.ts +151 -0
- package/dist/index.js +166 -0
- package/dist/index.js.map +1 -0
- package/dist/style.css +8028 -0
- package/dist/utils/gcsaDateValue.d.ts +25 -0
- package/dist/utils/gcsaDateValue.js +60 -0
- package/dist/utils/gcsaDateValue.js.map +1 -0
- package/dist/utils/gcsaTableColumns.d.ts +19 -0
- package/dist/utils/gcsaTableColumns.js +43 -0
- package/dist/utils/gcsaTableColumns.js.map +1 -0
- package/dist/utils/preserveDrawerScroll.d.ts +2 -0
- package/dist/utils/preserveDrawerScroll.js +13 -0
- package/dist/utils/preserveDrawerScroll.js.map +1 -0
- package/dist/utils/zodValidators.d.ts +21 -0
- package/dist/utils/zodValidators.js +35 -0
- package/dist/utils/zodValidators.js.map +1 -0
- package/package.json +58 -0
- package/src/ConsoleHeader.tsx +24 -0
- package/src/ConsolePage.tsx +22 -0
- package/src/ConsoleShell.tsx +248 -0
- package/src/ConsoleSidebar.tsx +61 -0
- package/src/GcsaAlert.tsx +29 -0
- package/src/GcsaAutoComplete.tsx +163 -0
- package/src/GcsaAvatar.tsx +21 -0
- package/src/GcsaBadge.tsx +15 -0
- package/src/GcsaBrandMark.tsx +18 -0
- package/src/GcsaBreadcrumb.tsx +35 -0
- package/src/GcsaButton.tsx +44 -0
- package/src/GcsaCalendar.tsx +14 -0
- package/src/GcsaCard.tsx +21 -0
- package/src/GcsaCascader.tsx +121 -0
- package/src/GcsaChatPanel.tsx +320 -0
- package/src/GcsaCheckbox.tsx +55 -0
- package/src/GcsaCollapse.tsx +23 -0
- package/src/GcsaConfigProvider.tsx +121 -0
- package/src/GcsaDataTable.tsx +779 -0
- package/src/GcsaDatePicker.tsx +284 -0
- package/src/GcsaDateRangePicker.tsx +310 -0
- package/src/GcsaDateTimePicker.tsx +407 -0
- package/src/GcsaDescriptions.tsx +22 -0
- package/src/GcsaDivider.tsx +7 -0
- package/src/GcsaDrawer.tsx +87 -0
- package/src/GcsaDropdown.tsx +84 -0
- package/src/GcsaEmpty.tsx +27 -0
- package/src/GcsaField.tsx +50 -0
- package/src/GcsaForm.tsx +82 -0
- package/src/GcsaFormField.tsx +67 -0
- package/src/GcsaIcon.tsx +21 -0
- package/src/GcsaImagePreview.tsx +30 -0
- package/src/GcsaInput.tsx +87 -0
- package/src/GcsaInputGroup.tsx +32 -0
- package/src/GcsaInputNumber.tsx +155 -0
- package/src/GcsaLoading.ts +206 -0
- package/src/GcsaLoadingMask.tsx +53 -0
- package/src/GcsaMarkdownRenderer.tsx +40 -0
- package/src/GcsaMenu.tsx +340 -0
- package/src/GcsaModal.tsx +68 -0
- package/src/GcsaMultiSelect.tsx +246 -0
- package/src/GcsaPagination.tsx +194 -0
- package/src/GcsaPopconfirm.tsx +104 -0
- package/src/GcsaPopover.tsx +131 -0
- package/src/GcsaPopoverClose.tsx +11 -0
- package/src/GcsaProgress.tsx +18 -0
- package/src/GcsaRadioGroup.tsx +42 -0
- package/src/GcsaResult.tsx +23 -0
- package/src/GcsaRow.tsx +13 -0
- package/src/GcsaSelect.tsx +186 -0
- package/src/GcsaSkeleton.tsx +19 -0
- package/src/GcsaSpace.tsx +17 -0
- package/src/GcsaSpin.tsx +25 -0
- package/src/GcsaStatistic.tsx +17 -0
- package/src/GcsaSteps.tsx +73 -0
- package/src/GcsaSwitch.tsx +45 -0
- package/src/GcsaTabs.tsx +53 -0
- package/src/GcsaTag.tsx +16 -0
- package/src/GcsaTextarea.tsx +87 -0
- package/src/GcsaTimePicker.tsx +298 -0
- package/src/GcsaTimeline.tsx +27 -0
- package/src/GcsaToastStack.tsx +67 -0
- package/src/GcsaTooltip.tsx +75 -0
- package/src/GcsaTransfer.tsx +129 -0
- package/src/GcsaTree.tsx +43 -0
- package/src/GcsaTypography.tsx +24 -0
- package/src/GcsaUpload.tsx +206 -0
- package/src/hooks/gcsaFormTypes.ts +23 -0
- package/src/hooks/useDocumentThemeSync.ts +6 -0
- package/src/hooks/useGcsaComponentSize.ts +24 -0
- package/src/hooks/useGcsaFormField.ts +49 -0
- package/src/hooks/useGcsaFormSchema.ts +6 -0
- package/src/hooks/useGcsaLocale.ts +16 -0
- package/src/hooks/useGcsaPopupZIndex.ts +23 -0
- package/src/hooks/useGcsaTextCount.ts +44 -0
- package/src/hooks/useGcsaTheme.ts +19 -0
- package/src/hooks/useGcsaZIndex.ts +60 -0
- package/src/hooks/useMessage.ts +7 -0
- package/src/hooks/useOverlayZIndex.ts +23 -0
- package/src/hooks/usePreventHiddenInputScroll.ts +233 -0
- package/src/icons/iconNames.ts +27 -0
- package/src/icons/index.ts +8 -0
- package/src/icons/registry.ts +38 -0
- package/src/icons/svg/alert.svg +4 -0
- package/src/icons/svg/assets.svg +4 -0
- package/src/icons/svg/chat.svg +3 -0
- package/src/icons/svg/check.svg +3 -0
- package/src/icons/svg/chevron-down.svg +3 -0
- package/src/icons/svg/chevron-left.svg +3 -0
- package/src/icons/svg/chevron-right.svg +3 -0
- package/src/icons/svg/chevron-up.svg +3 -0
- package/src/icons/svg/close.svg +1 -0
- package/src/icons/svg/dashboard.svg +3 -0
- package/src/icons/svg/menu.svg +3 -0
- package/src/icons/svg/plus.svg +1 -0
- package/src/icons/svg/result-empty.svg +1 -0
- package/src/icons/svg/settings.svg +3 -0
- package/src/icons/svg/users.svg +6 -0
- package/src/index.ts +166 -0
- package/src/utils/gcsaDateValue.ts +99 -0
- package/src/utils/gcsaTableColumns.ts +97 -0
- package/src/utils/preserveDrawerScroll.ts +20 -0
- package/src/utils/zodValidators.ts +45 -0
- package/src/vite-env.d.ts +6 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { GcsaComponentSize } from '@gcsa/console-core';
|
|
3
|
+
export type GcsaInputGroupProps = {
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
invalid?: boolean;
|
|
6
|
+
size?: GcsaComponentSize;
|
|
7
|
+
className?: string;
|
|
8
|
+
addon?: ReactNode;
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
export declare function GcsaInputGroup({ disabled, invalid, size, className, addon, children }: GcsaInputGroupProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsxs as t, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useGcsaComponentSize as c } from "./hooks/useGcsaComponentSize.js";
|
|
3
|
+
function l({
|
|
4
|
+
disabled: n = !1,
|
|
5
|
+
invalid: s = !1,
|
|
6
|
+
size: p,
|
|
7
|
+
className: i,
|
|
8
|
+
addon: o,
|
|
9
|
+
children: r
|
|
10
|
+
}) {
|
|
11
|
+
const u = c(p);
|
|
12
|
+
return /* @__PURE__ */ t(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
className: `gcsa-input-group gcsa-input-group--${u}${n ? " gcsa-input-group--disabled" : ""}${s ? " gcsa-input-group--invalid" : ""}${i ? ` ${i}` : ""}`,
|
|
16
|
+
"data-invalid": s || void 0,
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ a("div", { className: "gcsa-input-group__control", children: r }),
|
|
19
|
+
o ? /* @__PURE__ */ a("div", { className: "gcsa-input-group__addon", children: o }) : null
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
l as GcsaInputGroup
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=GcsaInputGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GcsaInputGroup.js","sources":["../src/GcsaInputGroup.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { GcsaComponentSize } from '@gcsa/console-core';\nimport { useGcsaComponentSize } from './hooks/useGcsaComponentSize';\n\nexport type GcsaInputGroupProps = {\n disabled?: boolean;\n invalid?: boolean;\n size?: GcsaComponentSize;\n className?: string;\n addon?: ReactNode;\n children?: ReactNode;\n};\n\nexport function GcsaInputGroup({\n disabled = false,\n invalid = false,\n size,\n className,\n addon,\n children\n}: GcsaInputGroupProps) {\n const resolvedSize = useGcsaComponentSize(size);\n return (\n <div\n className={`gcsa-input-group gcsa-input-group--${resolvedSize}${disabled ? ' gcsa-input-group--disabled' : ''}${invalid ? ' gcsa-input-group--invalid' : ''}${className ? ` ${className}` : ''}`}\n data-invalid={invalid || undefined}\n >\n <div className=\"gcsa-input-group__control\">{children}</div>\n {addon ? <div className=\"gcsa-input-group__addon\">{addon}</div> : null}\n </div>\n );\n}\n"],"names":["GcsaInputGroup","disabled","invalid","size","className","addon","children","resolvedSize","useGcsaComponentSize","jsxs","jsx"],"mappings":";;AAaO,SAASA,EAAe;AAAA,EAC7B,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AACF,GAAwB;AACtB,QAAMC,IAAeC,EAAqBL,CAAI;AAC9C,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,sCAAsCF,CAAY,GAAGN,IAAW,gCAAgC,EAAE,GAAGC,IAAU,+BAA+B,EAAE,GAAGE,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,MAC9L,gBAAcF,KAAW;AAAA,MAEzB,UAAA;AAAA,QAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,6BAA6B,UAAAJ,EAAA,CAAS;AAAA,QACpDD,IAAQ,gBAAAK,EAAC,OAAA,EAAI,WAAU,2BAA2B,aAAM,IAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxE;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GcsaComponentSize, GcsaInputNumberControls } from '@gcsa/console-core';
|
|
2
|
+
export type GcsaInputNumberProps = {
|
|
3
|
+
value?: number | null;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
step?: number;
|
|
7
|
+
precision?: number;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
invalid?: boolean;
|
|
11
|
+
size?: GcsaComponentSize;
|
|
12
|
+
/** both: 左右加减;right: 输入框在左、加减在右;none: 隐藏加减 */
|
|
13
|
+
controls?: GcsaInputNumberControls;
|
|
14
|
+
className?: string;
|
|
15
|
+
onBlur?: () => void;
|
|
16
|
+
onValueChange?: (value: number | null) => void;
|
|
17
|
+
};
|
|
18
|
+
export declare function GcsaInputNumber({ value, min, max, step, precision, placeholder, disabled, invalid, size, controls, className, onBlur, onValueChange }: GcsaInputNumberProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx as o, jsxs as m, Fragment as g } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as y } from "react";
|
|
3
|
+
import { gcsaControlSizeClass as P } from "@gcsa/console-core";
|
|
4
|
+
import { useGcsaLocaleMessages as U } from "./hooks/useGcsaLocale.js";
|
|
5
|
+
import { useGcsaComponentSize as $ } from "./hooks/useGcsaComponentSize.js";
|
|
6
|
+
function K({
|
|
7
|
+
value: t,
|
|
8
|
+
min: r,
|
|
9
|
+
max: c,
|
|
10
|
+
step: d = 1,
|
|
11
|
+
precision: f = 0,
|
|
12
|
+
placeholder: S,
|
|
13
|
+
disabled: p,
|
|
14
|
+
invalid: j,
|
|
15
|
+
size: z,
|
|
16
|
+
controls: u = "both",
|
|
17
|
+
className: G,
|
|
18
|
+
onBlur: l,
|
|
19
|
+
onValueChange: i
|
|
20
|
+
}) {
|
|
21
|
+
const I = $(z), N = U(), k = t == null || Number.isNaN(t) ? "" : String(t), A = y(
|
|
22
|
+
() => t != null && r != null && t <= r,
|
|
23
|
+
[t, r]
|
|
24
|
+
), D = y(
|
|
25
|
+
() => t != null && c != null && t >= c,
|
|
26
|
+
[t, c]
|
|
27
|
+
);
|
|
28
|
+
function b(n) {
|
|
29
|
+
let s = n;
|
|
30
|
+
if (f != null) {
|
|
31
|
+
const e = 10 ** f;
|
|
32
|
+
s = Math.round(s * e) / e;
|
|
33
|
+
}
|
|
34
|
+
return r != null && (s = Math.max(r, s)), c != null && (s = Math.min(c, s)), s;
|
|
35
|
+
}
|
|
36
|
+
function w(n) {
|
|
37
|
+
const s = n.trim();
|
|
38
|
+
if (!s) return null;
|
|
39
|
+
const e = Number(s);
|
|
40
|
+
return Number.isNaN(e) ? t ?? null : b(e);
|
|
41
|
+
}
|
|
42
|
+
function x() {
|
|
43
|
+
const n = t ?? r ?? 0;
|
|
44
|
+
i == null || i(b(n + d));
|
|
45
|
+
}
|
|
46
|
+
function F() {
|
|
47
|
+
const n = t ?? c ?? 0;
|
|
48
|
+
i == null || i(b(n - d));
|
|
49
|
+
}
|
|
50
|
+
const L = [
|
|
51
|
+
"gcsa-input-number",
|
|
52
|
+
P("gcsa-input-number", I),
|
|
53
|
+
p ? "gcsa-input-number--disabled" : void 0,
|
|
54
|
+
`gcsa-input-number--controls-${u}`,
|
|
55
|
+
G
|
|
56
|
+
].filter(Boolean).join(" "), a = {
|
|
57
|
+
className: u === "none" ? "gcsa-input-number__input gcsa-input gcsa-input-number__input--plain" : "gcsa-input-number__input gcsa-input",
|
|
58
|
+
type: "text",
|
|
59
|
+
inputMode: "decimal",
|
|
60
|
+
value: k,
|
|
61
|
+
placeholder: S,
|
|
62
|
+
disabled: p,
|
|
63
|
+
"data-invalid": j || void 0,
|
|
64
|
+
onChange: (n) => i == null ? void 0 : i(w(n.target.value)),
|
|
65
|
+
onBlur: (n) => {
|
|
66
|
+
l == null || l();
|
|
67
|
+
}
|
|
68
|
+
}, _ = /* @__PURE__ */ o(
|
|
69
|
+
"button",
|
|
70
|
+
{
|
|
71
|
+
type: "button",
|
|
72
|
+
className: "gcsa-input-number__btn",
|
|
73
|
+
disabled: p || A,
|
|
74
|
+
"aria-label": N.inputNumberDecrease,
|
|
75
|
+
onClick: F,
|
|
76
|
+
children: "−"
|
|
77
|
+
}
|
|
78
|
+
), M = /* @__PURE__ */ o(
|
|
79
|
+
"button",
|
|
80
|
+
{
|
|
81
|
+
type: "button",
|
|
82
|
+
className: "gcsa-input-number__btn",
|
|
83
|
+
disabled: p || D,
|
|
84
|
+
"aria-label": N.inputNumberIncrease,
|
|
85
|
+
onClick: x,
|
|
86
|
+
children: "+"
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
return /* @__PURE__ */ m("div", { className: L, children: [
|
|
90
|
+
u === "both" ? /* @__PURE__ */ m(g, { children: [
|
|
91
|
+
_,
|
|
92
|
+
/* @__PURE__ */ o("input", { ...a }),
|
|
93
|
+
M
|
|
94
|
+
] }) : null,
|
|
95
|
+
u === "right" ? /* @__PURE__ */ m(g, { children: [
|
|
96
|
+
/* @__PURE__ */ o("input", { ...a }),
|
|
97
|
+
/* @__PURE__ */ m("div", { className: "gcsa-input-number__controls", children: [
|
|
98
|
+
_,
|
|
99
|
+
M
|
|
100
|
+
] })
|
|
101
|
+
] }) : null,
|
|
102
|
+
u === "none" ? /* @__PURE__ */ o("input", { ...a }) : null
|
|
103
|
+
] });
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
K as GcsaInputNumber
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=GcsaInputNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GcsaInputNumber.js","sources":["../src/GcsaInputNumber.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { GcsaComponentSize, GcsaInputNumberControls } from '@gcsa/console-core';\nimport { gcsaControlSizeClass } from '@gcsa/console-core';\nimport { useGcsaLocaleMessages } from './hooks/useGcsaLocale';\nimport { useGcsaComponentSize } from './hooks/useGcsaComponentSize';\n\nexport type GcsaInputNumberProps = {\n value?: number | null;\n min?: number;\n max?: number;\n step?: number;\n precision?: number;\n placeholder?: string;\n disabled?: boolean;\n invalid?: boolean;\n size?: GcsaComponentSize;\n /** both: 左右加减;right: 输入框在左、加减在右;none: 隐藏加减 */\n controls?: GcsaInputNumberControls;\n className?: string;\n onBlur?: () => void;\n onValueChange?: (value: number | null) => void;\n};\n\nexport function GcsaInputNumber({\n value,\n min,\n max,\n step = 1,\n precision = 0,\n placeholder,\n disabled,\n invalid,\n size,\n controls = 'both',\n className,\n onBlur,\n onValueChange\n}: GcsaInputNumberProps) {\n const resolvedSize = useGcsaComponentSize(size);\n const messages = useGcsaLocaleMessages();\n const displayValue = value == null || Number.isNaN(value) ? '' : String(value);\n\n const isAtMin = useMemo(\n () => value != null && min != null && value <= min,\n [value, min]\n );\n const isAtMax = useMemo(\n () => value != null && max != null && value >= max,\n [value, max]\n );\n\n function clamp(next: number): number {\n let result = next;\n if (precision != null) {\n const factor = 10 ** precision;\n result = Math.round(result * factor) / factor;\n }\n if (min != null) result = Math.max(min, result);\n if (max != null) result = Math.min(max, result);\n return result;\n }\n\n function parseInput(raw: string): number | null {\n const trimmed = raw.trim();\n if (!trimmed) return null;\n const num = Number(trimmed);\n if (Number.isNaN(num)) return value ?? null;\n return clamp(num);\n }\n\n function stepUp() {\n const base = value ?? min ?? 0;\n onValueChange?.(clamp(base + step));\n }\n\n function stepDown() {\n const base = value ?? max ?? 0;\n onValueChange?.(clamp(base - step));\n }\n\n const rootClassName = [\n 'gcsa-input-number',\n gcsaControlSizeClass('gcsa-input-number', resolvedSize),\n disabled ? 'gcsa-input-number--disabled' : undefined,\n `gcsa-input-number--controls-${controls}`,\n className\n ]\n .filter(Boolean)\n .join(' ');\n\n const inputProps = {\n className:\n controls === 'none'\n ? 'gcsa-input-number__input gcsa-input gcsa-input-number__input--plain'\n : 'gcsa-input-number__input gcsa-input',\n type: 'text' as const,\n inputMode: 'decimal' as const,\n value: displayValue,\n placeholder,\n disabled,\n 'data-invalid': invalid || undefined,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) =>\n onValueChange?.(parseInput(event.target.value)),\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.();\n void event;\n }\n };\n\n const decreaseButton = (\n <button\n type=\"button\"\n className=\"gcsa-input-number__btn\"\n disabled={disabled || isAtMin}\n aria-label={messages.inputNumberDecrease}\n onClick={stepDown}\n >\n −\n </button>\n );\n\n const increaseButton = (\n <button\n type=\"button\"\n className=\"gcsa-input-number__btn\"\n disabled={disabled || isAtMax}\n aria-label={messages.inputNumberIncrease}\n onClick={stepUp}\n >\n +\n </button>\n );\n\n return (\n <div className={rootClassName}>\n {controls === 'both' ? (\n <>\n {decreaseButton}\n <input {...inputProps} />\n {increaseButton}\n </>\n ) : null}\n {controls === 'right' ? (\n <>\n <input {...inputProps} />\n <div className=\"gcsa-input-number__controls\">\n {decreaseButton}\n {increaseButton}\n </div>\n </>\n ) : null}\n {controls === 'none' ? <input {...inputProps} /> : null}\n </div>\n );\n}\n"],"names":["GcsaInputNumber","value","min","max","step","precision","placeholder","disabled","invalid","size","controls","className","onBlur","onValueChange","resolvedSize","useGcsaComponentSize","messages","useGcsaLocaleMessages","displayValue","isAtMin","useMemo","isAtMax","clamp","next","result","factor","parseInput","raw","trimmed","num","stepUp","base","stepDown","rootClassName","gcsaControlSizeClass","inputProps","event","decreaseButton","jsx","increaseButton","jsxs","Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type GcsaLoadingOptions = {
|
|
2
|
+
target?: HTMLElement | string;
|
|
3
|
+
body?: boolean;
|
|
4
|
+
fullscreen?: boolean;
|
|
5
|
+
lock?: boolean;
|
|
6
|
+
text?: string;
|
|
7
|
+
background?: string;
|
|
8
|
+
customClass?: string;
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
closed?: () => void;
|
|
11
|
+
};
|
|
12
|
+
export type GcsaLoadingInstance = {
|
|
13
|
+
readonly visible: boolean;
|
|
14
|
+
readonly text: string;
|
|
15
|
+
readonly $el: HTMLElement;
|
|
16
|
+
setText: (text: string) => void;
|
|
17
|
+
close: () => void;
|
|
18
|
+
};
|
|
19
|
+
declare function LoadingService(options?: GcsaLoadingOptions): GcsaLoadingInstance | undefined;
|
|
20
|
+
/** Imperative loading API(对齐 Element Plus / panel-web `Loading.service`) */
|
|
21
|
+
export declare const GcsaLoading: {
|
|
22
|
+
service: typeof LoadingService;
|
|
23
|
+
};
|
|
24
|
+
export default LoadingService;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { createElement as g } from "react";
|
|
2
|
+
import { createRoot as f } from "react-dom/client";
|
|
3
|
+
import { GcsaLoadingMask as b } from "./GcsaLoadingMask.js";
|
|
4
|
+
let l;
|
|
5
|
+
function u() {
|
|
6
|
+
if (typeof document > "u") return 3200;
|
|
7
|
+
const e = [
|
|
8
|
+
getComputedStyle(document.documentElement).getPropertyValue("--gcsa-z-loading").trim(),
|
|
9
|
+
getComputedStyle(document.documentElement).getPropertyValue("--z-overlay-loading").trim(),
|
|
10
|
+
getComputedStyle(document.documentElement).getPropertyValue("--gcsa-z-toast").trim()
|
|
11
|
+
];
|
|
12
|
+
for (const t of e) {
|
|
13
|
+
const n = Number.parseInt(t, 10);
|
|
14
|
+
if (Number.isFinite(n))
|
|
15
|
+
return t === e[2] ? n + 200 : n;
|
|
16
|
+
}
|
|
17
|
+
return 3200;
|
|
18
|
+
}
|
|
19
|
+
function y(e) {
|
|
20
|
+
let t;
|
|
21
|
+
typeof e.target == "string" ? t = document.querySelector(e.target) || document.body : t = e.target || document.body;
|
|
22
|
+
const n = t === document.body && (e.fullscreen ?? !0), o = t === document.body || e.body ? document.body : t;
|
|
23
|
+
return { target: t, parent: o, fullscreen: n };
|
|
24
|
+
}
|
|
25
|
+
function v(e, t, n) {
|
|
26
|
+
e.classList.add("gcsa-loading-parent--relative"), (t || !n) && e.classList.add("gcsa-loading-parent--hidden");
|
|
27
|
+
const o = Number.parseInt(e.getAttribute("data-gcsa-loading-number") || "0", 10) + 1;
|
|
28
|
+
e.setAttribute("data-gcsa-loading-number", String(o));
|
|
29
|
+
}
|
|
30
|
+
function p(e) {
|
|
31
|
+
const t = Number.parseInt(e.getAttribute("data-gcsa-loading-number") || "1", 10) - 1;
|
|
32
|
+
t <= 0 ? (e.removeAttribute("data-gcsa-loading-number"), e.classList.remove("gcsa-loading-parent--relative"), e.classList.remove("gcsa-loading-parent--hidden")) : e.setAttribute("data-gcsa-loading-number", String(t));
|
|
33
|
+
}
|
|
34
|
+
function x(e, t, n, o) {
|
|
35
|
+
if (t.fullscreen) {
|
|
36
|
+
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = String(u());
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (n === document.body && o !== document.body) {
|
|
40
|
+
const c = o.getBoundingClientRect(), s = document.documentElement.scrollTop || document.body.scrollTop, a = document.documentElement.scrollLeft || document.body.scrollLeft;
|
|
41
|
+
e.style.position = "absolute", e.style.top = `${c.top + s}px`, e.style.left = `${c.left + a}px`, e.style.width = `${c.width}px`, e.style.height = `${c.height}px`, e.style.zIndex = String(u());
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
e.style.position = "absolute", e.style.inset = "0", e.style.zIndex = String(u());
|
|
45
|
+
}
|
|
46
|
+
function L(e = {}) {
|
|
47
|
+
if (typeof window > "u") return;
|
|
48
|
+
const { target: t, parent: n, fullscreen: o } = y(e), c = e.lock ?? !1;
|
|
49
|
+
if (o && l)
|
|
50
|
+
return l;
|
|
51
|
+
const s = document.createElement("div");
|
|
52
|
+
s.classList.add("gcsa-loading-host"), o && s.classList.add("gcsa-loading-host--fullscreen");
|
|
53
|
+
const a = f(s), r = {
|
|
54
|
+
visible: !1,
|
|
55
|
+
text: e.text || "",
|
|
56
|
+
background: e.background,
|
|
57
|
+
customClass: e.customClass,
|
|
58
|
+
fullscreen: o
|
|
59
|
+
}, d = () => {
|
|
60
|
+
a.render(
|
|
61
|
+
g(b, {
|
|
62
|
+
text: r.text,
|
|
63
|
+
background: r.background,
|
|
64
|
+
customClass: r.customClass,
|
|
65
|
+
fullscreen: r.fullscreen,
|
|
66
|
+
visible: r.visible
|
|
67
|
+
})
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
d();
|
|
71
|
+
const m = {
|
|
72
|
+
get visible() {
|
|
73
|
+
return r.visible;
|
|
74
|
+
},
|
|
75
|
+
get text() {
|
|
76
|
+
return r.text;
|
|
77
|
+
},
|
|
78
|
+
get $el() {
|
|
79
|
+
return s;
|
|
80
|
+
},
|
|
81
|
+
setText(i) {
|
|
82
|
+
r.text = i, d();
|
|
83
|
+
},
|
|
84
|
+
close() {
|
|
85
|
+
r.visible = !1, d(), window.setTimeout(() => {
|
|
86
|
+
var i;
|
|
87
|
+
a.unmount(), s.remove(), p(n), o && (l = void 0), (i = e.closed) == null || i.call(e);
|
|
88
|
+
}, 260);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
return v(n, c, o), n.appendChild(s), x(s, { fullscreen: o }, n, t), window.requestAnimationFrame(() => {
|
|
92
|
+
r.visible = !0, d();
|
|
93
|
+
}), o && (l = m), m;
|
|
94
|
+
}
|
|
95
|
+
const w = {
|
|
96
|
+
service: L
|
|
97
|
+
};
|
|
98
|
+
export {
|
|
99
|
+
w as GcsaLoading
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=GcsaLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GcsaLoading.js","sources":["../src/GcsaLoading.ts"],"sourcesContent":["import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { GcsaLoadingMask } from './GcsaLoadingMask';\n\nexport type GcsaLoadingOptions = {\n target?: HTMLElement | string;\n body?: boolean;\n fullscreen?: boolean;\n lock?: boolean;\n text?: string;\n background?: string;\n customClass?: string;\n visible?: boolean;\n closed?: () => void;\n};\n\nexport type GcsaLoadingInstance = {\n readonly visible: boolean;\n readonly text: string;\n readonly $el: HTMLElement;\n setText: (text: string) => void;\n close: () => void;\n};\n\ntype ServiceState = {\n visible: boolean;\n text: string;\n background?: string;\n customClass?: string;\n fullscreen: boolean;\n};\n\nlet fullscreenInstance: GcsaLoadingInstance | undefined;\n\nfunction readOverlayLoadingZIndex(): number {\n if (typeof document === 'undefined') return 3200;\n const candidates = [\n getComputedStyle(document.documentElement).getPropertyValue('--gcsa-z-loading').trim(),\n getComputedStyle(document.documentElement).getPropertyValue('--z-overlay-loading').trim(),\n getComputedStyle(document.documentElement).getPropertyValue('--gcsa-z-toast').trim()\n ];\n for (const value of candidates) {\n const parsed = Number.parseInt(value, 10);\n if (Number.isFinite(parsed)) {\n return value === candidates[2] ? parsed + 200 : parsed;\n }\n }\n return 3200;\n}\n\nfunction resolveTarget(options: GcsaLoadingOptions) {\n let target: HTMLElement;\n if (typeof options.target === 'string') {\n target = (document.querySelector(options.target) as HTMLElement) || document.body;\n } else {\n target = options.target || document.body;\n }\n\n const fullscreen = target === document.body && (options.fullscreen ?? true);\n const parent = target === document.body || options.body ? document.body : target;\n\n return { target, parent, fullscreen };\n}\n\nfunction addParentClass(parent: HTMLElement, lock: boolean, fullscreen: boolean) {\n parent.classList.add('gcsa-loading-parent--relative');\n if (lock || !fullscreen) {\n parent.classList.add('gcsa-loading-parent--hidden');\n }\n\n const count = Number.parseInt(parent.getAttribute('data-gcsa-loading-number') || '0', 10) + 1;\n parent.setAttribute('data-gcsa-loading-number', String(count));\n}\n\nfunction removeParentClass(parent: HTMLElement) {\n const count = Number.parseInt(parent.getAttribute('data-gcsa-loading-number') || '1', 10) - 1;\n if (count <= 0) {\n parent.removeAttribute('data-gcsa-loading-number');\n parent.classList.remove('gcsa-loading-parent--relative');\n parent.classList.remove('gcsa-loading-parent--hidden');\n } else {\n parent.setAttribute('data-gcsa-loading-number', String(count));\n }\n}\n\nfunction positionMask(\n hostEl: HTMLElement,\n options: { fullscreen?: boolean },\n parent: HTMLElement,\n target: HTMLElement\n) {\n if (options.fullscreen) {\n hostEl.style.position = 'fixed';\n hostEl.style.inset = '0';\n hostEl.style.zIndex = String(readOverlayLoadingZIndex());\n return;\n }\n\n if (parent === document.body && target !== document.body) {\n const rect = target.getBoundingClientRect();\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n hostEl.style.position = 'absolute';\n hostEl.style.top = `${rect.top + scrollTop}px`;\n hostEl.style.left = `${rect.left + scrollLeft}px`;\n hostEl.style.width = `${rect.width}px`;\n hostEl.style.height = `${rect.height}px`;\n hostEl.style.zIndex = String(readOverlayLoadingZIndex());\n return;\n }\n\n hostEl.style.position = 'absolute';\n hostEl.style.inset = '0';\n hostEl.style.zIndex = String(readOverlayLoadingZIndex());\n}\n\nfunction LoadingService(options: GcsaLoadingOptions = {}): GcsaLoadingInstance | undefined {\n if (typeof window === 'undefined') return undefined;\n\n const { target, parent, fullscreen } = resolveTarget(options);\n const lock = options.lock ?? false;\n\n if (fullscreen && fullscreenInstance) {\n return fullscreenInstance;\n }\n\n const mountNode = document.createElement('div');\n mountNode.classList.add('gcsa-loading-host');\n if (fullscreen) {\n mountNode.classList.add('gcsa-loading-host--fullscreen');\n }\n\n const root = createRoot(mountNode);\n const state: ServiceState = {\n visible: false,\n text: options.text || '',\n background: options.background,\n customClass: options.customClass,\n fullscreen\n };\n\n const paint = () => {\n root.render(\n createElement(GcsaLoadingMask, {\n text: state.text,\n background: state.background,\n customClass: state.customClass,\n fullscreen: state.fullscreen,\n visible: state.visible\n })\n );\n };\n\n paint();\n\n const instance: GcsaLoadingInstance = {\n get visible() {\n return state.visible;\n },\n get text() {\n return state.text;\n },\n get $el() {\n return mountNode;\n },\n setText(value: string) {\n state.text = value;\n paint();\n },\n close() {\n state.visible = false;\n paint();\n window.setTimeout(() => {\n root.unmount();\n mountNode.remove();\n removeParentClass(parent);\n if (fullscreen) {\n fullscreenInstance = undefined;\n }\n options.closed?.();\n }, 260);\n }\n };\n\n addParentClass(parent, lock, fullscreen);\n parent.appendChild(mountNode);\n positionMask(mountNode, { fullscreen }, parent, target);\n\n window.requestAnimationFrame(() => {\n state.visible = true;\n paint();\n });\n\n if (fullscreen) {\n fullscreenInstance = instance;\n }\n\n return instance;\n}\n\n/** Imperative loading API(对齐 Element Plus / panel-web `Loading.service`) */\nexport const GcsaLoading = {\n service: LoadingService\n};\n\nexport default LoadingService;\n"],"names":["fullscreenInstance","readOverlayLoadingZIndex","candidates","value","parsed","resolveTarget","options","target","fullscreen","parent","addParentClass","lock","count","removeParentClass","positionMask","hostEl","rect","scrollTop","scrollLeft","LoadingService","mountNode","root","createRoot","state","paint","createElement","GcsaLoadingMask","instance","_a","GcsaLoading"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type GcsaLoadingMaskProps = {
|
|
2
|
+
text?: string;
|
|
3
|
+
background?: string;
|
|
4
|
+
customClass?: string;
|
|
5
|
+
fullscreen?: boolean;
|
|
6
|
+
visible?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function GcsaLoadingMask({ text, background, customClass, fullscreen, visible }: GcsaLoadingMaskProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as a, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { GcsaBrandMark as g } from "./GcsaBrandMark.js";
|
|
3
|
+
import { useGcsaLocaleMessages as t } from "./hooks/useGcsaLocale.js";
|
|
4
|
+
function f({
|
|
5
|
+
text: s = "",
|
|
6
|
+
background: e,
|
|
7
|
+
customClass: i,
|
|
8
|
+
fullscreen: l = !1,
|
|
9
|
+
visible: r = !0
|
|
10
|
+
}) {
|
|
11
|
+
const o = t();
|
|
12
|
+
if (!r) return null;
|
|
13
|
+
const c = e ? { backgroundColor: e } : void 0, d = [
|
|
14
|
+
"gcsa-loading-mask",
|
|
15
|
+
l ? "gcsa-loading-mask--fullscreen" : "",
|
|
16
|
+
i || ""
|
|
17
|
+
].filter(Boolean).join(" ");
|
|
18
|
+
return /* @__PURE__ */ a(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
className: d,
|
|
22
|
+
style: c,
|
|
23
|
+
role: "status",
|
|
24
|
+
"aria-live": "polite",
|
|
25
|
+
"aria-label": s || o.loading,
|
|
26
|
+
children: /* @__PURE__ */ n("div", { className: "gcsa-loading-spinner", children: [
|
|
27
|
+
/* @__PURE__ */ n("div", { className: "gcsa-loading-spinner__stage", children: [
|
|
28
|
+
/* @__PURE__ */ a("div", { className: "gcsa-loading-spinner__ring", "aria-hidden": "true" }),
|
|
29
|
+
/* @__PURE__ */ a(g, { className: "gcsa-loading-spinner__logo" })
|
|
30
|
+
] }),
|
|
31
|
+
s ? /* @__PURE__ */ a("p", { className: "gcsa-loading-spinner__text", children: s }) : null
|
|
32
|
+
] })
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
f as GcsaLoadingMask
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=GcsaLoadingMask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GcsaLoadingMask.js","sources":["../src/GcsaLoadingMask.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { GcsaBrandMark } from './GcsaBrandMark';\nimport { useGcsaLocaleMessages } from './hooks/useGcsaLocale';\n\nexport type GcsaLoadingMaskProps = {\n text?: string;\n background?: string;\n customClass?: string;\n fullscreen?: boolean;\n visible?: boolean;\n};\n\nexport function GcsaLoadingMask({\n text = '',\n background,\n customClass,\n fullscreen = false,\n visible = true\n}: GcsaLoadingMaskProps) {\n const messages = useGcsaLocaleMessages();\n\n if (!visible) return null;\n\n const maskStyle: CSSProperties | undefined = background\n ? { backgroundColor: background }\n : undefined;\n\n const className = [\n 'gcsa-loading-mask',\n fullscreen ? 'gcsa-loading-mask--fullscreen' : '',\n customClass || ''\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n className={className}\n style={maskStyle}\n role=\"status\"\n aria-live=\"polite\"\n aria-label={text || messages.loading}\n >\n <div className=\"gcsa-loading-spinner\">\n <div className=\"gcsa-loading-spinner__stage\">\n <div className=\"gcsa-loading-spinner__ring\" aria-hidden=\"true\" />\n <GcsaBrandMark className=\"gcsa-loading-spinner__logo\" />\n </div>\n {text ? <p className=\"gcsa-loading-spinner__text\">{text}</p> : null}\n </div>\n </div>\n );\n}\n"],"names":["GcsaLoadingMask","text","background","customClass","fullscreen","visible","messages","useGcsaLocaleMessages","maskStyle","className","jsx","jsxs","GcsaBrandMark"],"mappings":";;;AAYO,SAASA,EAAgB;AAAA,EAC9B,MAAAC,IAAO;AAAA,EACP,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,SAAAC,IAAU;AACZ,GAAyB;AACvB,QAAMC,IAAWC,EAAA;AAEjB,MAAI,CAACF,EAAS,QAAO;AAErB,QAAMG,IAAuCN,IACzC,EAAE,iBAAiBA,MACnB,QAEEO,IAAY;AAAA,IAChB;AAAA,IACAL,IAAa,kCAAkC;AAAA,IAC/CD,KAAe;AAAA,EAAA,EAEd,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAAD;AAAA,MACA,OAAOD;AAAA,MACP,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAYP,KAAQK,EAAS;AAAA,MAE7B,UAAA,gBAAAK,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,+BACb,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,8BAA6B,eAAY,QAAO;AAAA,UAC/D,gBAAAA,EAACE,GAAA,EAAc,WAAU,6BAAA,CAA6B;AAAA,QAAA,GACxD;AAAA,QACCX,IAAO,gBAAAS,EAAC,KAAA,EAAE,WAAU,8BAA8B,aAAK,IAAO;AAAA,MAAA,EAAA,CACjE;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as d, useEffect as f } from "react";
|
|
3
|
+
import { renderGcsaMarkdown as p } from "@gcsa/console-core";
|
|
4
|
+
function _({
|
|
5
|
+
content: n,
|
|
6
|
+
inline: c = !1,
|
|
7
|
+
className: l
|
|
8
|
+
}) {
|
|
9
|
+
const a = d(null);
|
|
10
|
+
f(() => {
|
|
11
|
+
const o = a.current;
|
|
12
|
+
o && o.querySelectorAll("table").forEach((e) => {
|
|
13
|
+
var s, t;
|
|
14
|
+
if ((s = e.parentElement) != null && s.classList.contains("gcsa-markdown__table-wrap")) return;
|
|
15
|
+
const r = document.createElement("div");
|
|
16
|
+
r.className = "gcsa-markdown__table-wrap", (t = e.parentNode) == null || t.insertBefore(r, e), r.appendChild(e);
|
|
17
|
+
});
|
|
18
|
+
}, [n]);
|
|
19
|
+
const m = ["gcsa-markdown", c ? "gcsa-markdown--inline" : "", l].filter(Boolean).join(" ");
|
|
20
|
+
return /* @__PURE__ */ i(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
ref: a,
|
|
24
|
+
className: m,
|
|
25
|
+
dangerouslySetInnerHTML: { __html: p(n) }
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
_ as GcsaMarkdownRenderer
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=GcsaMarkdownRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GcsaMarkdownRenderer.js","sources":["../src/GcsaMarkdownRenderer.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { renderGcsaMarkdown } from '@gcsa/console-core';\n\nexport type GcsaMarkdownRendererProps = {\n content: string;\n inline?: boolean;\n className?: string;\n};\n\nexport function GcsaMarkdownRenderer({\n content,\n inline = false,\n className\n}: GcsaMarkdownRendererProps) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n root.querySelectorAll('table').forEach((table) => {\n if (table.parentElement?.classList.contains('gcsa-markdown__table-wrap')) return;\n const wrapper = document.createElement('div');\n wrapper.className = 'gcsa-markdown__table-wrap';\n table.parentNode?.insertBefore(wrapper, table);\n wrapper.appendChild(table);\n });\n }, [content]);\n\n const classNames = ['gcsa-markdown', inline ? 'gcsa-markdown--inline' : '', className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n ref={rootRef}\n className={classNames}\n dangerouslySetInnerHTML={{ __html: renderGcsaMarkdown(content) }}\n />\n );\n}\n"],"names":["GcsaMarkdownRenderer","content","inline","className","rootRef","useRef","useEffect","root","table","_a","wrapper","_b","classNames","jsx","renderGcsaMarkdown"],"mappings":";;;AASO,SAASA,EAAqB;AAAA,EACnC,SAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC;AACF,GAA8B;AAC5B,QAAMC,IAAUC,EAA8B,IAAI;AAElD,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAOH,EAAQ;AACrB,IAAKG,KACLA,EAAK,iBAAiB,OAAO,EAAE,QAAQ,CAACC,MAAU;;AAChD,WAAIC,IAAAD,EAAM,kBAAN,QAAAC,EAAqB,UAAU,SAAS,6BAA8B;AAC1E,YAAMC,IAAU,SAAS,cAAc,KAAK;AAC5C,MAAAA,EAAQ,YAAY,8BACpBC,IAAAH,EAAM,eAAN,QAAAG,EAAkB,aAAaD,GAASF,IACxCE,EAAQ,YAAYF,CAAK;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAACP,CAAO,CAAC;AAEZ,QAAMW,IAAa,CAAC,iBAAiBV,IAAS,0BAA0B,IAAIC,CAAS,EAClF,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKT;AAAA,MACL,WAAWQ;AAAA,MACX,yBAAyB,EAAE,QAAQE,EAAmBb,CAAO,EAAA;AAAA,IAAE;AAAA,EAAA;AAGrE;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GcsaMenuItem, GcsaMenuMode } from '@gcsa/console-core';
|
|
2
|
+
export type { GcsaMenuItem, GcsaMenuMode } from '@gcsa/console-core';
|
|
3
|
+
export type GcsaMenuProps = {
|
|
4
|
+
items: GcsaMenuItem[];
|
|
5
|
+
selectedKey?: string;
|
|
6
|
+
defaultSelectedKey?: string;
|
|
7
|
+
openKeys?: string[];
|
|
8
|
+
defaultOpenKeys?: string[];
|
|
9
|
+
mode?: GcsaMenuMode;
|
|
10
|
+
collapsed?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
onSelectedKeyChange?: (key: string) => void;
|
|
13
|
+
onSelect?: (key: string) => void;
|
|
14
|
+
onOpenKeysChange?: (keys: string[]) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function GcsaMenu({ items, selectedKey, defaultSelectedKey, openKeys, defaultOpenKeys, mode, collapsed, className, onSelectedKeyChange, onSelect, onOpenKeysChange }: GcsaMenuProps): import("react").JSX.Element;
|