@rchemist/listgrid 0.2.6
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/LICENSE +201 -0
- package/README.md +343 -0
- package/dist/adapters/next/NextListGridProvider.d.ts +5 -0
- package/dist/adapters/next/NextListGridProvider.js +7 -0
- package/dist/adapters/next/NextRouterAdapter.d.ts +2 -0
- package/dist/adapters/next/NextRouterAdapter.js +34 -0
- package/dist/adapters/next/NextUrlStateAdapter.d.ts +2 -0
- package/dist/adapters/next/NextUrlStateAdapter.js +31 -0
- package/dist/adapters/next/index.d.ts +4 -0
- package/dist/adapters/next/index.js +12 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/listgrid/api/ApiClient.d.ts +20 -0
- package/dist/listgrid/api/ApiClient.js +32 -0
- package/dist/listgrid/api/index.d.ts +4 -0
- package/dist/listgrid/api/index.js +2 -0
- package/dist/listgrid/api/types.d.ts +21 -0
- package/dist/listgrid/api/types.js +30 -0
- package/dist/listgrid/auth/AuthContext.d.ts +12 -0
- package/dist/listgrid/auth/AuthContext.js +25 -0
- package/dist/listgrid/auth/SessionProvider.d.ts +4 -0
- package/dist/listgrid/auth/SessionProvider.js +16 -0
- package/dist/listgrid/auth/index.d.ts +6 -0
- package/dist/listgrid/auth/index.js +17 -0
- package/dist/listgrid/auth/types.d.ts +15 -0
- package/dist/listgrid/auth/types.js +12 -0
- package/dist/listgrid/common/func.d.ts +16 -0
- package/dist/listgrid/common/func.js +351 -0
- package/dist/listgrid/common/type.d.ts +35 -0
- package/dist/listgrid/common/type.js +46 -0
- package/dist/listgrid/components/api/ApiSpecificationButton.d.ts +5 -0
- package/dist/listgrid/components/api/ApiSpecificationButton.js +16 -0
- package/dist/listgrid/components/api/Type.d.ts +23 -0
- package/dist/listgrid/components/api/Type.js +8 -0
- package/dist/listgrid/components/api/ViewApiSpecification.d.ts +2 -0
- package/dist/listgrid/components/api/ViewApiSpecification.js +32 -0
- package/dist/listgrid/components/fields/ApplyFullAddressFields.d.ts +45 -0
- package/dist/listgrid/components/fields/ApplyFullAddressFields.js +177 -0
- package/dist/listgrid/components/fields/BirthdayField.d.ts +39 -0
- package/dist/listgrid/components/fields/BirthdayField.js +205 -0
- package/dist/listgrid/components/fields/BooleanField.d.ts +38 -0
- package/dist/listgrid/components/fields/BooleanField.js +141 -0
- package/dist/listgrid/components/fields/CheckboxField.d.ts +23 -0
- package/dist/listgrid/components/fields/CheckboxField.js +33 -0
- package/dist/listgrid/components/fields/ColorField.d.ts +18 -0
- package/dist/listgrid/components/fields/ColorField.js +63 -0
- package/dist/listgrid/components/fields/ColorPresetField.d.ts +19 -0
- package/dist/listgrid/components/fields/ColorPresetField.js +56 -0
- package/dist/listgrid/components/fields/CustomOptionField.d.ts +45 -0
- package/dist/listgrid/components/fields/CustomOptionField.js +176 -0
- package/dist/listgrid/components/fields/DateField.d.ts +34 -0
- package/dist/listgrid/components/fields/DateField.js +116 -0
- package/dist/listgrid/components/fields/DatetimeField.d.ts +29 -0
- package/dist/listgrid/components/fields/DatetimeField.js +93 -0
- package/dist/listgrid/components/fields/EmailField.d.ts +37 -0
- package/dist/listgrid/components/fields/EmailField.js +144 -0
- package/dist/listgrid/components/fields/FileField.d.ts +36 -0
- package/dist/listgrid/components/fields/FileField.js +157 -0
- package/dist/listgrid/components/fields/HtmlField.d.ts +24 -0
- package/dist/listgrid/components/fields/HtmlField.js +70 -0
- package/dist/listgrid/components/fields/ImageField.d.ts +34 -0
- package/dist/listgrid/components/fields/ImageField.js +125 -0
- package/dist/listgrid/components/fields/InlineMapField.d.ts +40 -0
- package/dist/listgrid/components/fields/InlineMapField.js +85 -0
- package/dist/listgrid/components/fields/LinkField.d.ts +26 -0
- package/dist/listgrid/components/fields/LinkField.js +61 -0
- package/dist/listgrid/components/fields/ManyToOneField.d.ts +80 -0
- package/dist/listgrid/components/fields/ManyToOneField.js +416 -0
- package/dist/listgrid/components/fields/MappedJoinField.d.ts +16 -0
- package/dist/listgrid/components/fields/MappedJoinField.js +29 -0
- package/dist/listgrid/components/fields/MarkdownField.d.ts +20 -0
- package/dist/listgrid/components/fields/MarkdownField.js +58 -0
- package/dist/listgrid/components/fields/MessageViewField.d.ts +20 -0
- package/dist/listgrid/components/fields/MessageViewField.js +27 -0
- package/dist/listgrid/components/fields/MonthField.d.ts +25 -0
- package/dist/listgrid/components/fields/MonthField.js +68 -0
- package/dist/listgrid/components/fields/MultiSelectField.d.ts +59 -0
- package/dist/listgrid/components/fields/MultiSelectField.js +74 -0
- package/dist/listgrid/components/fields/MultipleAssetField.d.ts +31 -0
- package/dist/listgrid/components/fields/MultipleAssetField.js +200 -0
- package/dist/listgrid/components/fields/NumberField.d.ts +54 -0
- package/dist/listgrid/components/fields/NumberField.js +216 -0
- package/dist/listgrid/components/fields/PasswordField.d.ts +23 -0
- package/dist/listgrid/components/fields/PasswordField.js +70 -0
- package/dist/listgrid/components/fields/PhoneNumberField.d.ts +39 -0
- package/dist/listgrid/components/fields/PhoneNumberField.js +91 -0
- package/dist/listgrid/components/fields/Preset.d.ts +68 -0
- package/dist/listgrid/components/fields/Preset.js +306 -0
- package/dist/listgrid/components/fields/ProfileField.d.ts +14 -0
- package/dist/listgrid/components/fields/ProfileField.js +25 -0
- package/dist/listgrid/components/fields/QrField.d.ts +21 -0
- package/dist/listgrid/components/fields/QrField.js +31 -0
- package/dist/listgrid/components/fields/RuleField.d.ts +11 -0
- package/dist/listgrid/components/fields/RuleField.js +24 -0
- package/dist/listgrid/components/fields/SelectField.d.ts +223 -0
- package/dist/listgrid/components/fields/SelectField.js +379 -0
- package/dist/listgrid/components/fields/SelectFieldRenderer.d.ts +35 -0
- package/dist/listgrid/components/fields/SelectFieldRenderer.js +363 -0
- package/dist/listgrid/components/fields/StatusChangeReasonModal.d.ts +18 -0
- package/dist/listgrid/components/fields/StatusChangeReasonModal.js +25 -0
- package/dist/listgrid/components/fields/StringField.d.ts +34 -0
- package/dist/listgrid/components/fields/StringField.js +131 -0
- package/dist/listgrid/components/fields/TagField.d.ts +35 -0
- package/dist/listgrid/components/fields/TagField.js +75 -0
- package/dist/listgrid/components/fields/TelephoneNumberField.d.ts +35 -0
- package/dist/listgrid/components/fields/TelephoneNumberField.js +121 -0
- package/dist/listgrid/components/fields/TextareaField.d.ts +27 -0
- package/dist/listgrid/components/fields/TextareaField.js +47 -0
- package/dist/listgrid/components/fields/TimeField.d.ts +21 -0
- package/dist/listgrid/components/fields/TimeField.js +40 -0
- package/dist/listgrid/components/fields/XrefAvailableDateMappingField.d.ts +22 -0
- package/dist/listgrid/components/fields/XrefAvailableDateMappingField.js +39 -0
- package/dist/listgrid/components/fields/XrefMappingField.d.ts +30 -0
- package/dist/listgrid/components/fields/XrefMappingField.js +59 -0
- package/dist/listgrid/components/fields/XrefPreferMappingField.d.ts +30 -0
- package/dist/listgrid/components/fields/XrefPreferMappingField.js +53 -0
- package/dist/listgrid/components/fields/XrefPriceMappingField.d.ts +33 -0
- package/dist/listgrid/components/fields/XrefPriceMappingField.js +56 -0
- package/dist/listgrid/components/fields/YearField.d.ts +32 -0
- package/dist/listgrid/components/fields/YearField.js +99 -0
- package/dist/listgrid/components/fields/abstract/AbstractDateField.d.ts +33 -0
- package/dist/listgrid/components/fields/abstract/AbstractDateField.js +61 -0
- package/dist/listgrid/components/fields/abstract/AbstractManyToOneField.d.ts +97 -0
- package/dist/listgrid/components/fields/abstract/AbstractManyToOneField.js +50 -0
- package/dist/listgrid/components/fields/abstract/CheckButtonValidationField.d.ts +22 -0
- package/dist/listgrid/components/fields/abstract/CheckButtonValidationField.js +92 -0
- package/dist/listgrid/components/fields/abstract/FormField.d.ts +250 -0
- package/dist/listgrid/components/fields/abstract/FormField.js +606 -0
- package/dist/listgrid/components/fields/abstract/ListableFormField.d.ts +140 -0
- package/dist/listgrid/components/fields/abstract/ListableFormField.js +285 -0
- package/dist/listgrid/components/fields/abstract/OptionalField.d.ts +96 -0
- package/dist/listgrid/components/fields/abstract/OptionalField.js +310 -0
- package/dist/listgrid/components/fields/abstract/index.d.ts +6 -0
- package/dist/listgrid/components/fields/abstract/index.js +12 -0
- package/dist/listgrid/components/fields/address/AddressFieldView.d.ts +9 -0
- package/dist/listgrid/components/fields/address/AddressFieldView.js +92 -0
- package/dist/listgrid/components/fields/address/AddressMapField.d.ts +33 -0
- package/dist/listgrid/components/fields/address/AddressMapField.js +49 -0
- package/dist/listgrid/components/fields/address/KakaoMap.d.ts +10 -0
- package/dist/listgrid/components/fields/address/KakaoMap.js +50 -0
- package/dist/listgrid/components/fields/address/PostCodeSelector.d.ts +9 -0
- package/dist/listgrid/components/fields/address/PostCodeSelector.js +125 -0
- package/dist/listgrid/components/fields/contentasset/ContentAssetField.d.ts +61 -0
- package/dist/listgrid/components/fields/contentasset/ContentAssetField.js +80 -0
- package/dist/listgrid/components/fields/contentasset/ContentAssetItem.d.ts +17 -0
- package/dist/listgrid/components/fields/contentasset/ContentAssetItem.js +67 -0
- package/dist/listgrid/components/fields/contentasset/components/AddContentDialog.d.ts +11 -0
- package/dist/listgrid/components/fields/contentasset/components/AddContentDialog.js +68 -0
- package/dist/listgrid/components/fields/contentasset/components/ContentAssetItemUI.d.ts +30 -0
- package/dist/listgrid/components/fields/contentasset/components/ContentAssetItemUI.js +38 -0
- package/dist/listgrid/components/fields/contentasset/hooks/useContentAsset.d.ts +36 -0
- package/dist/listgrid/components/fields/contentasset/hooks/useContentAsset.js +188 -0
- package/dist/listgrid/components/fields/contentasset/index.d.ts +2 -0
- package/dist/listgrid/components/fields/contentasset/index.js +1 -0
- package/dist/listgrid/components/fields/contentasset/types.d.ts +50 -0
- package/dist/listgrid/components/fields/contentasset/types.js +48 -0
- package/dist/listgrid/components/fields/filter/DatetimeFilter.d.ts +7 -0
- package/dist/listgrid/components/fields/filter/DatetimeFilter.js +46 -0
- package/dist/listgrid/components/fields/filter/NumberFilter.d.ts +7 -0
- package/dist/listgrid/components/fields/filter/NumberFilter.js +74 -0
- package/dist/listgrid/components/fields/rule/RuleBasedFieldView.d.ts +15 -0
- package/dist/listgrid/components/fields/rule/RuleBasedFieldView.js +351 -0
- package/dist/listgrid/components/fields/rule/RuleBasedSelector.d.ts +13 -0
- package/dist/listgrid/components/fields/rule/RuleBasedSelector.js +75 -0
- package/dist/listgrid/components/fields/rule/RuleCondition.d.ts +14 -0
- package/dist/listgrid/components/fields/rule/RuleCondition.js +173 -0
- package/dist/listgrid/components/fields/rule/RuleFieldRenderer.d.ts +7 -0
- package/dist/listgrid/components/fields/rule/RuleFieldRenderer.js +21 -0
- package/dist/listgrid/components/fields/rule/RuleFieldView.d.ts +7 -0
- package/dist/listgrid/components/fields/rule/RuleFieldView.js +28 -0
- package/dist/listgrid/components/fields/rule/Type.d.ts +54 -0
- package/dist/listgrid/components/fields/rule/Type.js +72 -0
- package/dist/listgrid/components/fields/view/CardManyToOneView.d.ts +93 -0
- package/dist/listgrid/components/fields/view/CardManyToOneView.js +409 -0
- package/dist/listgrid/components/fields/view/CopyableTextView.d.ts +11 -0
- package/dist/listgrid/components/fields/view/CopyableTextView.js +44 -0
- package/dist/listgrid/components/fields/view/DynamicSelectFieldView.d.ts +28 -0
- package/dist/listgrid/components/fields/view/DynamicSelectFieldView.js +119 -0
- package/dist/listgrid/components/fields/view/LinkFieldView.d.ts +14 -0
- package/dist/listgrid/components/fields/view/LinkFieldView.js +41 -0
- package/dist/listgrid/components/fields/view/ManyToOneListView.d.ts +8 -0
- package/dist/listgrid/components/fields/view/ManyToOneListView.js +25 -0
- package/dist/listgrid/components/fields/view/ManyToOneMultiFilterView.d.ts +12 -0
- package/dist/listgrid/components/fields/view/ManyToOneMultiFilterView.js +142 -0
- package/dist/listgrid/components/fields/view/ManyToOneView.d.ts +8 -0
- package/dist/listgrid/components/fields/view/ManyToOneView.js +322 -0
- package/dist/listgrid/components/fields/view/MultipleAssetUpload.d.ts +7 -0
- package/dist/listgrid/components/fields/view/MultipleAssetUpload.js +47 -0
- package/dist/listgrid/components/fields/view/PhoneNumberFieldView.d.ts +19 -0
- package/dist/listgrid/components/fields/view/PhoneNumberFieldView.js +82 -0
- package/dist/listgrid/components/fields/view/PhoneNumberListView.d.ts +9 -0
- package/dist/listgrid/components/fields/view/PhoneNumberListView.js +49 -0
- package/dist/listgrid/components/fields/view/SelectBoxManyToOneView.d.ts +47 -0
- package/dist/listgrid/components/fields/view/SelectBoxManyToOneView.js +286 -0
- package/dist/listgrid/components/fields/view/SmsModal.d.ts +6 -0
- package/dist/listgrid/components/fields/view/SmsModal.js +124 -0
- package/dist/listgrid/components/fields/view/TreeSelectView.d.ts +11 -0
- package/dist/listgrid/components/fields/view/TreeSelectView.js +118 -0
- package/dist/listgrid/components/fields/view/XrefAvailableDateMappingView.d.ts +19 -0
- package/dist/listgrid/components/fields/view/XrefAvailableDateMappingView.js +305 -0
- package/dist/listgrid/components/fields/view/XrefMappingView.d.ts +16 -0
- package/dist/listgrid/components/fields/view/XrefMappingView.js +173 -0
- package/dist/listgrid/components/fields/view/XrefPiceMappingView.d.ts +19 -0
- package/dist/listgrid/components/fields/view/XrefPiceMappingView.js +319 -0
- package/dist/listgrid/components/fields/view/XrefPreferMappingView.d.ts +19 -0
- package/dist/listgrid/components/fields/view/XrefPreferMappingView.js +261 -0
- package/dist/listgrid/components/fields/view/XrefPriorityMappingView.d.ts +19 -0
- package/dist/listgrid/components/fields/view/XrefPriorityMappingView.js +180 -0
- package/dist/listgrid/components/form/FieldRenderer.d.ts +23 -0
- package/dist/listgrid/components/form/FieldRenderer.js +292 -0
- package/dist/listgrid/components/form/SubCollectionRenderer.d.ts +22 -0
- package/dist/listgrid/components/form/SubCollectionRenderer.js +46 -0
- package/dist/listgrid/components/form/ViewEntityForm.d.ts +14 -0
- package/dist/listgrid/components/form/ViewEntityForm.js +124 -0
- package/dist/listgrid/components/form/ViewFieldGroup.d.ts +27 -0
- package/dist/listgrid/components/form/ViewFieldGroup.js +164 -0
- package/dist/listgrid/components/form/ViewTab.d.ts +24 -0
- package/dist/listgrid/components/form/ViewTab.js +68 -0
- package/dist/listgrid/components/form/ViewTabPanel.d.ts +14 -0
- package/dist/listgrid/components/form/ViewTabPanel.js +32 -0
- package/dist/listgrid/components/form/context/EntityFormThemeContext.d.ts +52 -0
- package/dist/listgrid/components/form/context/EntityFormThemeContext.js +129 -0
- package/dist/listgrid/components/form/context/index.d.ts +1 -0
- package/dist/listgrid/components/form/context/index.js +1 -0
- package/dist/listgrid/components/form/hooks/useAlertManager.d.ts +12 -0
- package/dist/listgrid/components/form/hooks/useAlertManager.js +103 -0
- package/dist/listgrid/components/form/hooks/useEntityFormAutoSave.d.ts +23 -0
- package/dist/listgrid/components/form/hooks/useEntityFormAutoSave.js +145 -0
- package/dist/listgrid/components/form/hooks/useEntityFormInitializer.d.ts +24 -0
- package/dist/listgrid/components/form/hooks/useEntityFormInitializer.js +109 -0
- package/dist/listgrid/components/form/hooks/useEntityFormLogic.d.ts +63 -0
- package/dist/listgrid/components/form/hooks/useEntityFormLogic.js +513 -0
- package/dist/listgrid/components/form/hooks/useEntityFormSave.d.ts +28 -0
- package/dist/listgrid/components/form/hooks/useEntityFormSave.js +89 -0
- package/dist/listgrid/components/form/hooks/useEntityFormTitle.d.ts +12 -0
- package/dist/listgrid/components/form/hooks/useEntityFormTitle.js +53 -0
- package/dist/listgrid/components/form/themes/defaultTheme.d.ts +11 -0
- package/dist/listgrid/components/form/themes/defaultTheme.js +129 -0
- package/dist/listgrid/components/form/themes/index.d.ts +1 -0
- package/dist/listgrid/components/form/themes/index.js +1 -0
- package/dist/listgrid/components/form/types/ViewEntityForm.types.d.ts +169 -0
- package/dist/listgrid/components/form/types/ViewEntityForm.types.js +1 -0
- package/dist/listgrid/components/form/types/ViewEntityFormAlerts.types.d.ts +26 -0
- package/dist/listgrid/components/form/types/ViewEntityFormAlerts.types.js +1 -0
- package/dist/listgrid/components/form/types/ViewEntityFormButtons.types.d.ts +49 -0
- package/dist/listgrid/components/form/types/ViewEntityFormButtons.types.js +1 -0
- package/dist/listgrid/components/form/types/ViewEntityFormTheme.types.d.ts +518 -0
- package/dist/listgrid/components/form/types/ViewEntityFormTheme.types.js +1 -0
- package/dist/listgrid/components/form/ui/AlertItem.d.ts +7 -0
- package/dist/listgrid/components/form/ui/AlertItem.js +18 -0
- package/dist/listgrid/components/form/ui/CreateStepButtons.d.ts +25 -0
- package/dist/listgrid/components/form/ui/CreateStepButtons.js +18 -0
- package/dist/listgrid/components/form/ui/CreateStepView.d.ts +39 -0
- package/dist/listgrid/components/form/ui/CreateStepView.js +50 -0
- package/dist/listgrid/components/form/ui/ViewEntityError.d.ts +13 -0
- package/dist/listgrid/components/form/ui/ViewEntityError.js +90 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormAlerts.d.ts +3 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormAlerts.js +24 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormButtons.d.ts +24 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormButtons.js +208 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormErrors.d.ts +25 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormErrors.js +9 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormFields.d.ts +38 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormFields.js +25 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormSkeleton.d.ts +16 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormSkeleton.js +79 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormTitle.d.ts +15 -0
- package/dist/listgrid/components/form/ui/ViewEntityFormTitle.js +21 -0
- package/dist/listgrid/components/form/ui/ViewFieldError.d.ts +5 -0
- package/dist/listgrid/components/form/ui/ViewFieldError.js +12 -0
- package/dist/listgrid/components/form/ui/ViewHelpIcon.d.ts +5 -0
- package/dist/listgrid/components/form/ui/ViewHelpIcon.js +13 -0
- package/dist/listgrid/components/form/ui/ViewHelpText.d.ts +5 -0
- package/dist/listgrid/components/form/ui/ViewHelpText.js +10 -0
- package/dist/listgrid/components/form/ui/buttons/ClosePopupButton.d.ts +8 -0
- package/dist/listgrid/components/form/ui/buttons/ClosePopupButton.js +32 -0
- package/dist/listgrid/components/form/ui/buttons/DeleteButton.d.ts +2 -0
- package/dist/listgrid/components/form/ui/buttons/DeleteButton.js +101 -0
- package/dist/listgrid/components/form/ui/buttons/ListButton.d.ts +2 -0
- package/dist/listgrid/components/form/ui/buttons/ListButton.js +55 -0
- package/dist/listgrid/components/form/ui/buttons/SaveButton.d.ts +2 -0
- package/dist/listgrid/components/form/ui/buttons/SaveButton.js +55 -0
- package/dist/listgrid/components/helper/FieldRendererHelper.d.ts +23 -0
- package/dist/listgrid/components/helper/FieldRendererHelper.js +27 -0
- package/dist/listgrid/components/helper/ShowNotifications.d.ts +13 -0
- package/dist/listgrid/components/helper/ShowNotifications.js +58 -0
- package/dist/listgrid/components/list/AdvancedSearchForm.d.ts +17 -0
- package/dist/listgrid/components/list/AdvancedSearchForm.js +113 -0
- package/dist/listgrid/components/list/AdvancedSearchFormV2.d.ts +19 -0
- package/dist/listgrid/components/list/AdvancedSearchFormV2.js +347 -0
- package/dist/listgrid/components/list/ListGridHeader.d.ts +2 -0
- package/dist/listgrid/components/list/ListGridHeader.js +21 -0
- package/dist/listgrid/components/list/QuickSearchBar.d.ts +22 -0
- package/dist/listgrid/components/list/QuickSearchBar.js +17 -0
- package/dist/listgrid/components/list/RowItem.d.ts +2 -0
- package/dist/listgrid/components/list/RowItem.js +70 -0
- package/dist/listgrid/components/list/SubCollectionButtons.d.ts +2 -0
- package/dist/listgrid/components/list/SubCollectionButtons.js +36 -0
- package/dist/listgrid/components/list/ViewFieldSelector.d.ts +10 -0
- package/dist/listgrid/components/list/ViewFieldSelector.js +48 -0
- package/dist/listgrid/components/list/ViewListGrid.d.ts +2 -0
- package/dist/listgrid/components/list/ViewListGrid.js +359 -0
- package/dist/listgrid/components/list/context/EntityFormScopeContext.d.ts +39 -0
- package/dist/listgrid/components/list/context/EntityFormScopeContext.js +75 -0
- package/dist/listgrid/components/list/context/ListGridThemeContext.d.ts +70 -0
- package/dist/listgrid/components/list/context/ListGridThemeContext.js +157 -0
- package/dist/listgrid/components/list/context/index.d.ts +2 -0
- package/dist/listgrid/components/list/context/index.js +1 -0
- package/dist/listgrid/components/list/hooks/searchFormUrlSync.d.ts +42 -0
- package/dist/listgrid/components/list/hooks/searchFormUrlSync.js +212 -0
- package/dist/listgrid/components/list/hooks/urlStateParsers.d.ts +63 -0
- package/dist/listgrid/components/list/hooks/urlStateParsers.js +241 -0
- package/dist/listgrid/components/list/hooks/useCardSubCollectionData.d.ts +34 -0
- package/dist/listgrid/components/list/hooks/useCardSubCollectionData.js +181 -0
- package/dist/listgrid/components/list/hooks/useListGridHeader.d.ts +6 -0
- package/dist/listgrid/components/list/hooks/useListGridHeader.js +92 -0
- package/dist/listgrid/components/list/hooks/useListGridLogic.d.ts +2 -0
- package/dist/listgrid/components/list/hooks/useListGridLogic.js +625 -0
- package/dist/listgrid/components/list/hooks/useListGridUrlState.d.ts +45 -0
- package/dist/listgrid/components/list/hooks/useListGridUrlState.js +131 -0
- package/dist/listgrid/components/list/hooks/useQuickSearchBar.d.ts +22 -0
- package/dist/listgrid/components/list/hooks/useQuickSearchBar.js +104 -0
- package/dist/listgrid/components/list/hooks/useSubCollectionExpansion.d.ts +21 -0
- package/dist/listgrid/components/list/hooks/useSubCollectionExpansion.js +62 -0
- package/dist/listgrid/components/list/themes/defaultListGridTheme.d.ts +14 -0
- package/dist/listgrid/components/list/themes/defaultListGridTheme.js +169 -0
- package/dist/listgrid/components/list/themes/index.d.ts +4 -0
- package/dist/listgrid/components/list/themes/index.js +4 -0
- package/dist/listgrid/components/list/themes/variants/mainTheme.d.ts +8 -0
- package/dist/listgrid/components/list/themes/variants/mainTheme.js +37 -0
- package/dist/listgrid/components/list/themes/variants/modalTheme.d.ts +8 -0
- package/dist/listgrid/components/list/themes/variants/modalTheme.js +47 -0
- package/dist/listgrid/components/list/themes/variants/subCollectionTheme.d.ts +8 -0
- package/dist/listgrid/components/list/themes/variants/subCollectionTheme.js +101 -0
- package/dist/listgrid/components/list/types/ListGridHeader.types.d.ts +35 -0
- package/dist/listgrid/components/list/types/ListGridHeader.types.js +3 -0
- package/dist/listgrid/components/list/types/RowItem.types.d.ts +57 -0
- package/dist/listgrid/components/list/types/RowItem.types.js +1 -0
- package/dist/listgrid/components/list/types/SubCollectionButtons.type.d.ts +29 -0
- package/dist/listgrid/components/list/types/SubCollectionButtons.type.js +1 -0
- package/dist/listgrid/components/list/types/ViewListGrid.types.d.ts +152 -0
- package/dist/listgrid/components/list/types/ViewListGrid.types.js +2 -0
- package/dist/listgrid/components/list/types/ViewListGridTheme.types.d.ts +374 -0
- package/dist/listgrid/components/list/types/ViewListGridTheme.types.js +1 -0
- package/dist/listgrid/components/list/ui/CardFieldRenderer.d.ts +31 -0
- package/dist/listgrid/components/list/ui/CardFieldRenderer.js +71 -0
- package/dist/listgrid/components/list/ui/CardFieldSection.d.ts +27 -0
- package/dist/listgrid/components/list/ui/CardFieldSection.js +108 -0
- package/dist/listgrid/components/list/ui/CardItem.d.ts +28 -0
- package/dist/listgrid/components/list/ui/CardItem.js +376 -0
- package/dist/listgrid/components/list/ui/CardSubCollectionModal.d.ts +38 -0
- package/dist/listgrid/components/list/ui/CardSubCollectionModal.js +80 -0
- package/dist/listgrid/components/list/ui/CardSubCollectionView.d.ts +44 -0
- package/dist/listgrid/components/list/ui/CardSubCollectionView.js +238 -0
- package/dist/listgrid/components/list/ui/DataTransferModal.d.ts +12 -0
- package/dist/listgrid/components/list/ui/DataTransferModal.js +10 -0
- package/dist/listgrid/components/list/ui/EntireChecker.d.ts +11 -0
- package/dist/listgrid/components/list/ui/EntireChecker.js +46 -0
- package/dist/listgrid/components/list/ui/FieldSelector.d.ts +11 -0
- package/dist/listgrid/components/list/ui/FieldSelector.js +40 -0
- package/dist/listgrid/components/list/ui/FilterButton.d.ts +7 -0
- package/dist/listgrid/components/list/ui/FilterButton.js +5 -0
- package/dist/listgrid/components/list/ui/FilterDropdown.d.ts +15 -0
- package/dist/listgrid/components/list/ui/FilterDropdown.js +106 -0
- package/dist/listgrid/components/list/ui/FilterView.d.ts +12 -0
- package/dist/listgrid/components/list/ui/FilterView.js +22 -0
- package/dist/listgrid/components/list/ui/HeaderActionButtons.d.ts +10 -0
- package/dist/listgrid/components/list/ui/HeaderActionButtons.js +39 -0
- package/dist/listgrid/components/list/ui/HeaderField.d.ts +19 -0
- package/dist/listgrid/components/list/ui/HeaderField.js +32 -0
- package/dist/listgrid/components/list/ui/HeaderFieldFilter.d.ts +14 -0
- package/dist/listgrid/components/list/ui/HeaderFieldFilter.js +166 -0
- package/dist/listgrid/components/list/ui/HeaderTitle.d.ts +4 -0
- package/dist/listgrid/components/list/ui/HeaderTitle.js +13 -0
- package/dist/listgrid/components/list/ui/InlineSubCollectionView.d.ts +30 -0
- package/dist/listgrid/components/list/ui/InlineSubCollectionView.js +260 -0
- package/dist/listgrid/components/list/ui/MemoizedFilterField.d.ts +14 -0
- package/dist/listgrid/components/list/ui/MemoizedFilterField.js +67 -0
- package/dist/listgrid/components/list/ui/QuickSearchInput.d.ts +9 -0
- package/dist/listgrid/components/list/ui/QuickSearchInput.js +17 -0
- package/dist/listgrid/components/list/ui/SearchBarActions.d.ts +19 -0
- package/dist/listgrid/components/list/ui/SearchBarActions.js +39 -0
- package/dist/listgrid/components/list/ui/SortField.d.ts +8 -0
- package/dist/listgrid/components/list/ui/SortField.js +42 -0
- package/dist/listgrid/components/list/ui/SubCollectionInlineView.d.ts +23 -0
- package/dist/listgrid/components/list/ui/SubCollectionInlineView.js +47 -0
- package/dist/listgrid/components/list/ui/SubCollectionModal.d.ts +15 -0
- package/dist/listgrid/components/list/ui/SubCollectionModal.js +34 -0
- package/dist/listgrid/components/list/ui/SubCollectionViewModal.d.ts +13 -0
- package/dist/listgrid/components/list/ui/SubCollectionViewModal.js +33 -0
- package/dist/listgrid/components/list/ui/SyncTopScrollbar.d.ts +18 -0
- package/dist/listgrid/components/list/ui/SyncTopScrollbar.js +91 -0
- package/dist/listgrid/components/list/ui/TableSubCollectionView.d.ts +25 -0
- package/dist/listgrid/components/list/ui/TableSubCollectionView.js +213 -0
- package/dist/listgrid/components/list/ui/ViewColumn.d.ts +2 -0
- package/dist/listgrid/components/list/ui/ViewColumn.js +56 -0
- package/dist/listgrid/components/list/ui/ViewListGridSkeleton.d.ts +20 -0
- package/dist/listgrid/components/list/ui/ViewListGridSkeleton.js +82 -0
- package/dist/listgrid/components/list/ui/ViewRows.d.ts +15 -0
- package/dist/listgrid/components/list/ui/ViewRows.js +283 -0
- package/dist/listgrid/components/list/ui/buttons/CacheClearButton.d.ts +9 -0
- package/dist/listgrid/components/list/ui/buttons/CacheClearButton.js +35 -0
- package/dist/listgrid/components/list/ui/buttons/CreateButton.d.ts +13 -0
- package/dist/listgrid/components/list/ui/buttons/CreateButton.js +13 -0
- package/dist/listgrid/components/list/ui/buttons/PriorityButton.d.ts +11 -0
- package/dist/listgrid/components/list/ui/buttons/PriorityButton.js +49 -0
- package/dist/listgrid/components/list/ui/headerFilterStore.d.ts +8 -0
- package/dist/listgrid/components/list/ui/headerFilterStore.js +13 -0
- package/dist/listgrid/components/list/utils/mappedByFieldFilter.d.ts +21 -0
- package/dist/listgrid/components/list/utils/mappedByFieldFilter.js +54 -0
- package/dist/listgrid/components/list/utils/performanceLogger.d.ts +48 -0
- package/dist/listgrid/components/list/utils/performanceLogger.js +67 -0
- package/dist/listgrid/components/revision/RevisionField.d.ts +13 -0
- package/dist/listgrid/components/revision/RevisionField.js +194 -0
- package/dist/listgrid/config/AdvancedSearchOpenCache.d.ts +3 -0
- package/dist/listgrid/config/AdvancedSearchOpenCache.js +48 -0
- package/dist/listgrid/config/CardSubCollectionField.d.ts +133 -0
- package/dist/listgrid/config/CardSubCollectionField.js +164 -0
- package/dist/listgrid/config/CommonType.d.ts +4 -0
- package/dist/listgrid/config/CommonType.js +15 -0
- package/dist/listgrid/config/Config.d.ts +251 -0
- package/dist/listgrid/config/Config.js +299 -0
- package/dist/listgrid/config/EntityField.d.ts +148 -0
- package/dist/listgrid/config/EntityField.js +1 -0
- package/dist/listgrid/config/EntityFieldGroup.d.ts +37 -0
- package/dist/listgrid/config/EntityFieldGroup.js +55 -0
- package/dist/listgrid/config/EntityForm.d.ts +101 -0
- package/dist/listgrid/config/EntityForm.js +859 -0
- package/dist/listgrid/config/EntityFormButton.d.ts +56 -0
- package/dist/listgrid/config/EntityFormButton.js +42 -0
- package/dist/listgrid/config/EntityFormMethod.d.ts +32 -0
- package/dist/listgrid/config/EntityFormMethod.js +152 -0
- package/dist/listgrid/config/EntityFormTypes.d.ts +62 -0
- package/dist/listgrid/config/EntityFormTypes.js +1 -0
- package/dist/listgrid/config/EntityItem.d.ts +86 -0
- package/dist/listgrid/config/EntityItem.js +1 -0
- package/dist/listgrid/config/EntityTab.d.ts +26 -0
- package/dist/listgrid/config/EntityTab.js +68 -0
- package/dist/listgrid/config/InlineSubCollectionField.d.ts +184 -0
- package/dist/listgrid/config/InlineSubCollectionField.js +194 -0
- package/dist/listgrid/config/ListGrid.d.ts +56 -0
- package/dist/listgrid/config/ListGrid.js +183 -0
- package/dist/listgrid/config/ListGridViewFieldCache.d.ts +3 -0
- package/dist/listgrid/config/ListGridViewFieldCache.js +53 -0
- package/dist/listgrid/config/OnChangeEntityForm.d.ts +43 -0
- package/dist/listgrid/config/OnChangeEntityForm.js +266 -0
- package/dist/listgrid/config/RuntimeConfig.d.ts +18 -0
- package/dist/listgrid/config/RuntimeConfig.js +22 -0
- package/dist/listgrid/config/SubCollectionField.d.ts +119 -0
- package/dist/listgrid/config/SubCollectionField.js +241 -0
- package/dist/listgrid/config/TableSubCollectionField.d.ts +66 -0
- package/dist/listgrid/config/TableSubCollectionField.js +132 -0
- package/dist/listgrid/config/form/EntityFormActions.d.ts +69 -0
- package/dist/listgrid/config/form/EntityFormActions.js +459 -0
- package/dist/listgrid/config/form/EntityFormBase.d.ts +204 -0
- package/dist/listgrid/config/form/EntityFormBase.js +526 -0
- package/dist/listgrid/config/form/EntityFormData.d.ts +32 -0
- package/dist/listgrid/config/form/EntityFormData.js +184 -0
- package/dist/listgrid/config/form/EntityFormExtensions.d.ts +37 -0
- package/dist/listgrid/config/form/EntityFormExtensions.js +105 -0
- package/dist/listgrid/config/form/EntityFormValidation.d.ts +28 -0
- package/dist/listgrid/config/form/EntityFormValidation.js +128 -0
- package/dist/listgrid/extensions/EntityFormExtension.types.d.ts +52 -0
- package/dist/listgrid/extensions/EntityFormExtension.types.js +19 -0
- package/dist/listgrid/extensions/FieldExtensions.d.ts +5 -0
- package/dist/listgrid/extensions/FieldExtensions.js +21 -0
- package/dist/listgrid/form/SearchForm.d.ts +153 -0
- package/dist/listgrid/form/SearchForm.js +689 -0
- package/dist/listgrid/form/TagsInput/types.d.ts +133 -0
- package/dist/listgrid/form/TagsInput/types.js +1 -0
- package/dist/listgrid/form/Type.d.ts +50 -0
- package/dist/listgrid/form/Type.js +95 -0
- package/dist/listgrid/index.d.ts +205 -0
- package/dist/listgrid/index.js +244 -0
- package/dist/listgrid/loading/index.d.ts +6 -0
- package/dist/listgrid/loading/index.js +17 -0
- package/dist/listgrid/menu/MenuPermissionChecker.d.ts +15 -0
- package/dist/listgrid/menu/MenuPermissionChecker.js +15 -0
- package/dist/listgrid/menu/index.d.ts +1 -0
- package/dist/listgrid/menu/index.js +1 -0
- package/dist/listgrid/message/MessageProvider.d.ts +19 -0
- package/dist/listgrid/message/MessageProvider.js +62 -0
- package/dist/listgrid/message/index.d.ts +1 -0
- package/dist/listgrid/message/index.js +1 -0
- package/dist/listgrid/misc/index.d.ts +64 -0
- package/dist/listgrid/misc/index.js +478 -0
- package/dist/listgrid/router/RouterProvider.d.ts +12 -0
- package/dist/listgrid/router/RouterProvider.js +34 -0
- package/dist/listgrid/router/index.d.ts +3 -0
- package/dist/listgrid/router/index.js +1 -0
- package/dist/listgrid/router/types.d.ts +34 -0
- package/dist/listgrid/router/types.js +6 -0
- package/dist/listgrid/store/index.d.ts +24 -0
- package/dist/listgrid/store/index.js +40 -0
- package/dist/listgrid/transfer/DataExportProcessor.d.ts +18 -0
- package/dist/listgrid/transfer/DataExportProcessor.js +102 -0
- package/dist/listgrid/transfer/DataExportService.d.ts +37 -0
- package/dist/listgrid/transfer/DataExportService.js +225 -0
- package/dist/listgrid/transfer/DataExporter.d.ts +10 -0
- package/dist/listgrid/transfer/DataExporter.js +85 -0
- package/dist/listgrid/transfer/DataImportDescription.d.ts +8 -0
- package/dist/listgrid/transfer/DataImportDescription.js +18 -0
- package/dist/listgrid/transfer/DataImportProcessor.d.ts +24 -0
- package/dist/listgrid/transfer/DataImportProcessor.js +59 -0
- package/dist/listgrid/transfer/DataImportResultView.d.ts +13 -0
- package/dist/listgrid/transfer/DataImportResultView.js +64 -0
- package/dist/listgrid/transfer/DataImportSample.d.ts +10 -0
- package/dist/listgrid/transfer/DataImportSample.js +105 -0
- package/dist/listgrid/transfer/DataImporter.d.ts +8 -0
- package/dist/listgrid/transfer/DataImporter.js +335 -0
- package/dist/listgrid/transfer/DynamicDataImporter.d.ts +4 -0
- package/dist/listgrid/transfer/DynamicDataImporter.js +13 -0
- package/dist/listgrid/transfer/ExcelPasswordField.d.ts +9 -0
- package/dist/listgrid/transfer/ExcelPasswordField.js +23 -0
- package/dist/listgrid/transfer/Provider/ExcelProvider.d.ts +24 -0
- package/dist/listgrid/transfer/Provider/ExcelProvider.js +194 -0
- package/dist/listgrid/transfer/Type.d.ts +176 -0
- package/dist/listgrid/transfer/Type.js +568 -0
- package/dist/listgrid/ui/GlobalModalManager.d.ts +22 -0
- package/dist/listgrid/ui/GlobalModalManager.js +65 -0
- package/dist/listgrid/ui/UIProvider.d.ts +151 -0
- package/dist/listgrid/ui/UIProvider.js +292 -0
- package/dist/listgrid/ui/index.d.ts +2 -0
- package/dist/listgrid/ui/index.js +2 -0
- package/dist/listgrid/urlState/UrlStateProvider.d.ts +8 -0
- package/dist/listgrid/urlState/UrlStateProvider.js +20 -0
- package/dist/listgrid/urlState/index.d.ts +4 -0
- package/dist/listgrid/urlState/index.js +2 -0
- package/dist/listgrid/urlState/types.d.ts +21 -0
- package/dist/listgrid/urlState/types.js +14 -0
- package/dist/listgrid/utils/BooleanUtil.d.ts +1 -0
- package/dist/listgrid/utils/BooleanUtil.js +9 -0
- package/dist/listgrid/utils/CompareUtil.d.ts +7 -0
- package/dist/listgrid/utils/CompareUtil.js +87 -0
- package/dist/listgrid/utils/PhoneUtil.d.ts +19 -0
- package/dist/listgrid/utils/PhoneUtil.js +38 -0
- package/dist/listgrid/utils/RequestUtil.d.ts +6 -0
- package/dist/listgrid/utils/RequestUtil.js +6 -0
- package/dist/listgrid/utils/StringUtil.d.ts +32 -0
- package/dist/listgrid/utils/StringUtil.js +316 -0
- package/dist/listgrid/utils/classNames.d.ts +21 -0
- package/dist/listgrid/utils/classNames.js +29 -0
- package/dist/listgrid/utils/cn.d.ts +12 -0
- package/dist/listgrid/utils/cn.js +15 -0
- package/dist/listgrid/utils/hash.d.ts +1 -0
- package/dist/listgrid/utils/hash.js +15 -0
- package/dist/listgrid/utils/i18n.d.ts +16 -0
- package/dist/listgrid/utils/i18n.js +31 -0
- package/dist/listgrid/utils/index.d.ts +10 -0
- package/dist/listgrid/utils/index.js +17 -0
- package/dist/listgrid/utils/jsonUtils.d.ts +4 -0
- package/dist/listgrid/utils/jsonUtils.js +77 -0
- package/dist/listgrid/utils/lazy.d.ts +10 -0
- package/dist/listgrid/utils/lazy.js +13 -0
- package/dist/listgrid/utils/simpleCrypt.d.ts +4 -0
- package/dist/listgrid/utils/simpleCrypt.js +79 -0
- package/dist/listgrid/validations/CustomValidation.d.ts +8 -0
- package/dist/listgrid/validations/CustomValidation.js +10 -0
- package/dist/listgrid/validations/EmailValidation.d.ts +4 -0
- package/dist/listgrid/validations/EmailValidation.js +7 -0
- package/dist/listgrid/validations/IpAddressValidation.d.ts +26 -0
- package/dist/listgrid/validations/IpAddressValidation.js +57 -0
- package/dist/listgrid/validations/MinMaxNumberValidation.d.ts +14 -0
- package/dist/listgrid/validations/MinMaxNumberValidation.js +28 -0
- package/dist/listgrid/validations/PasswordValidation.d.ts +4 -0
- package/dist/listgrid/validations/PasswordValidation.js +7 -0
- package/dist/listgrid/validations/PhoneNumberValidation.d.ts +12 -0
- package/dist/listgrid/validations/PhoneNumberValidation.js +24 -0
- package/dist/listgrid/validations/RegexFormularValidation.d.ts +7 -0
- package/dist/listgrid/validations/RegexFormularValidation.js +28 -0
- package/dist/listgrid/validations/RegexValidation.d.ts +8 -0
- package/dist/listgrid/validations/RegexValidation.js +17 -0
- package/dist/listgrid/validations/RequiredValidation.d.ts +7 -0
- package/dist/listgrid/validations/RequiredValidation.js +12 -0
- package/dist/listgrid/validations/StringValidation.d.ts +17 -0
- package/dist/listgrid/validations/StringValidation.js +33 -0
- package/dist/listgrid/validations/TelephoneNumberValidation.d.ts +12 -0
- package/dist/listgrid/validations/TelephoneNumberValidation.js +24 -0
- package/dist/listgrid/validations/Validation.d.ts +63 -0
- package/dist/listgrid/validations/Validation.js +72 -0
- package/dist/listgrid/view/ViewEntityFormWrapper.d.ts +16 -0
- package/dist/listgrid/view/ViewEntityFormWrapper.js +98 -0
- package/dist/listgrid/view/ViewListGridWrapper.d.ts +10 -0
- package/dist/listgrid/view/ViewListGridWrapper.js +96 -0
- package/dist/styles/base.css +116 -0
- package/dist/styles/components.css +1404 -0
- package/dist/styles/layouts.css +3206 -0
- package/dist/styles/primitives.css +1542 -0
- package/dist/styles/tokens.css +218 -0
- package/dist/styles.css +6486 -0
- package/docs/PRIMITIVES.md +271 -0
- package/package.json +201 -0
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
// Stage 3c — miscellaneous utilities that the original kit's root barrel
|
|
2
|
+
// provided. Ported to match the original semantics exactly so library-internal
|
|
3
|
+
// callers (DatetimeField, FormField, PasswordValidation, etc.) behave the same
|
|
4
|
+
// as before extraction.
|
|
5
|
+
//
|
|
6
|
+
// Sources (in utils/):
|
|
7
|
+
// validation.ts, formatTime.ts, NumberUtil.ts, CompareUtil.ts, Server.ts,
|
|
8
|
+
// StringUtil.ts, RequestUtil.ts, jsonUtils.ts, BooleanUtil.ts,
|
|
9
|
+
// LocalStorageUtils.ts, SessionStorageUtil.ts
|
|
10
|
+
import { format, formatDistanceToNow, getTime } from 'date-fns';
|
|
11
|
+
import { ko } from 'date-fns/locale';
|
|
12
|
+
// -- Regex patterns --------------------------------------------------------
|
|
13
|
+
// From validation.ts. These are the exact originals — changing them breaks
|
|
14
|
+
// validators (PasswordValidation, PhoneNumberValidation, etc.).
|
|
15
|
+
export const RegexPhoneNumber = /^[0-9]{10,11}$/;
|
|
16
|
+
export const RegexTelephoneNumber = /^[0-9]{9,11}$/;
|
|
17
|
+
export const RegexPasswordNormal = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&+~()=_-])[A-Za-z\d@$!%*#?&+~()=_-]{8,25}$/;
|
|
18
|
+
export const RegexEmailAddress = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
|
|
19
|
+
export const RegexKoreanName = /^[가-힣]{2,5}$/;
|
|
20
|
+
export const RegexLoginName = /^[a-z][a-z0-9]{4,23}$/;
|
|
21
|
+
export const RegexLoginNameForSignIn = /^[a-zA-Z][a-zA-Z0-9._-]{1,23}$/;
|
|
22
|
+
export const RegexStudentLoginName = /^\d{10}$/;
|
|
23
|
+
export const RegexAlias = /^[a-z0-9-_]{3,24}$/;
|
|
24
|
+
export const RegexUrlBody = /^[a-zA-Z0-9-\/가-힣]{2,100}$/;
|
|
25
|
+
export const RegexDomain = /^(https?:\/\/)[^\s\/$.?#].[^\s]*[^\/?]$/;
|
|
26
|
+
export const RegexLowerEnglish = /^[a-z]{1,100}$/;
|
|
27
|
+
export const RegexLowerEnglishNumber = /^[a-z0-9]{1,100}$/;
|
|
28
|
+
export const RegexEnglishNumber = /^[a-zA-Z0-9]{1,100}$/;
|
|
29
|
+
export const RegexNumber = /^[0-9]{1,100}$/;
|
|
30
|
+
// -- Boolean helper (subset of BooleanUtil used by CompareUtil) ------------
|
|
31
|
+
function isTrue(value, defaultValue) {
|
|
32
|
+
if (value === undefined || value === null || value === '') {
|
|
33
|
+
return defaultValue ?? false;
|
|
34
|
+
}
|
|
35
|
+
if (typeof value === 'boolean')
|
|
36
|
+
return value;
|
|
37
|
+
return value === 'true' || value === '1' || value === 'on' || value === 'yes' || value === '예';
|
|
38
|
+
}
|
|
39
|
+
// -- String helpers (subset of StringUtil used by library-internal callers) -
|
|
40
|
+
function isBlank(data) {
|
|
41
|
+
return data === undefined || data === null || data === '';
|
|
42
|
+
}
|
|
43
|
+
// -- Date formatters (from formatTime.ts) ----------------------------------
|
|
44
|
+
export function fDate(date, dateFormat) {
|
|
45
|
+
const fm = dateFormat ?? 'yyyy-MM-dd';
|
|
46
|
+
try {
|
|
47
|
+
return date ? format(new Date(date), fm) : '';
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return '';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export function fDateTime(date, newFormat) {
|
|
54
|
+
const fm = newFormat ?? 'yyyy-MM-dd p';
|
|
55
|
+
try {
|
|
56
|
+
return date ? format(new Date(date), fm) : '';
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export function fTimestamp(date) {
|
|
63
|
+
try {
|
|
64
|
+
return date ? getTime(new Date(date)) : '';
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return '';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export function fToNow(date, options) {
|
|
71
|
+
try {
|
|
72
|
+
if (!date)
|
|
73
|
+
return '';
|
|
74
|
+
const d = typeof date === 'string' ? new Date(date) : date;
|
|
75
|
+
const opts = options ?? {};
|
|
76
|
+
if (!opts.relative) {
|
|
77
|
+
return fDate(d, opts.format);
|
|
78
|
+
}
|
|
79
|
+
const now = new Date();
|
|
80
|
+
const diff = now.getTime() - d.getTime();
|
|
81
|
+
const days = Math.ceil(diff / (1000 * 3600 * 24));
|
|
82
|
+
if (days > (opts.diffDays ?? 1)) {
|
|
83
|
+
return fDate(d, opts.format);
|
|
84
|
+
}
|
|
85
|
+
return formatDistanceToNow(d, { addSuffix: true, locale: ko });
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export function formatYearMonth(date) {
|
|
92
|
+
if (!date)
|
|
93
|
+
return '';
|
|
94
|
+
if (typeof date === 'number')
|
|
95
|
+
return formatYearMonth(date.toString());
|
|
96
|
+
if (date.length < 6)
|
|
97
|
+
return date;
|
|
98
|
+
if (date.includes('-'))
|
|
99
|
+
return date.split('-')[0] + '년 ' + date.split('-')[1] + '월';
|
|
100
|
+
if (date.includes('.'))
|
|
101
|
+
return date.split('.')[0] + '년 ' + date.split('.')[1] + '월';
|
|
102
|
+
const year = date.substring(0, 4);
|
|
103
|
+
const month = date.substring(4, 6);
|
|
104
|
+
return `${year}년 ${month}월`;
|
|
105
|
+
}
|
|
106
|
+
function paddingMonth(mon) {
|
|
107
|
+
return mon < 10 ? `0${mon}` : mon;
|
|
108
|
+
}
|
|
109
|
+
export function getCurrentYear() {
|
|
110
|
+
return new Date().getFullYear();
|
|
111
|
+
}
|
|
112
|
+
export function getCurrentMonth() {
|
|
113
|
+
return new Date().getMonth() + 1 + '';
|
|
114
|
+
}
|
|
115
|
+
export function getCurrentYearMonth() {
|
|
116
|
+
const d = new Date();
|
|
117
|
+
return `${d.getFullYear()}-${paddingMonth(d.getMonth() + 1)}`;
|
|
118
|
+
}
|
|
119
|
+
export function getCurrentHour() {
|
|
120
|
+
const h = new Date().getHours();
|
|
121
|
+
return h < 10 ? `0${h}` : `${h}`;
|
|
122
|
+
}
|
|
123
|
+
// Mutates the input date — matches original signature/behavior.
|
|
124
|
+
export function getFormattedTime(date = new Date(), hourOffset = 0, minuteOffset = 0) {
|
|
125
|
+
date.setHours(date.getHours() + hourOffset);
|
|
126
|
+
date.setMinutes(date.getMinutes() + minuteOffset);
|
|
127
|
+
const hours = date.getHours();
|
|
128
|
+
const minutes = date.getMinutes();
|
|
129
|
+
const hh = hours < 10 ? `0${hours}` : `${hours}`;
|
|
130
|
+
const mm = minutes < 10 ? `0${minutes}` : `${minutes}`;
|
|
131
|
+
return `${hh}:${mm}`;
|
|
132
|
+
}
|
|
133
|
+
// -- NumberUtil.formatPrice ------------------------------------------------
|
|
134
|
+
export function formatPrice(value, localeCode) {
|
|
135
|
+
if (localeCode) {
|
|
136
|
+
try {
|
|
137
|
+
return new Intl.NumberFormat(localeCode, { style: 'currency', currency: 'KRW' }).format(value);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
/* fall through */
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const formattedNumber = value.toLocaleString('en-US');
|
|
144
|
+
if (localeCode === '원')
|
|
145
|
+
return `${formattedNumber} 원`;
|
|
146
|
+
if (localeCode)
|
|
147
|
+
return `${localeCode}${formattedNumber}`;
|
|
148
|
+
return formattedNumber;
|
|
149
|
+
}
|
|
150
|
+
// -- CompareUtil -----------------------------------------------------------
|
|
151
|
+
export function isNulls(value, other) {
|
|
152
|
+
if (value === undefined && other === undefined)
|
|
153
|
+
return true;
|
|
154
|
+
if (value === undefined) {
|
|
155
|
+
if (other === null)
|
|
156
|
+
return true;
|
|
157
|
+
if (other === '')
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
else if (other === undefined) {
|
|
161
|
+
if (value === null)
|
|
162
|
+
return true;
|
|
163
|
+
if (value === '')
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
export function isEquals(value, other) {
|
|
169
|
+
if (isNulls(value, other))
|
|
170
|
+
return true;
|
|
171
|
+
if (value === other)
|
|
172
|
+
return true;
|
|
173
|
+
// plain object deep comparison (matches original CompareUtil.isEquals)
|
|
174
|
+
if (typeof value === 'object' &&
|
|
175
|
+
typeof other === 'object' &&
|
|
176
|
+
value !== null &&
|
|
177
|
+
other !== null &&
|
|
178
|
+
!Array.isArray(value) &&
|
|
179
|
+
!Array.isArray(other)) {
|
|
180
|
+
const a = value;
|
|
181
|
+
const b = other;
|
|
182
|
+
const keysA = Object.keys(a);
|
|
183
|
+
const keysB = Object.keys(b);
|
|
184
|
+
if (keysA.length !== keysB.length)
|
|
185
|
+
return false;
|
|
186
|
+
return keysA.every((key) => keysB.includes(key) && isEquals(a[key], b[key]));
|
|
187
|
+
}
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
export function isEqualsIgnoreCase(value, other) {
|
|
191
|
+
if (isNulls(value, other))
|
|
192
|
+
return true;
|
|
193
|
+
if (value == null || other == null)
|
|
194
|
+
return false;
|
|
195
|
+
return value.toLowerCase() === other.toLowerCase();
|
|
196
|
+
}
|
|
197
|
+
export function isEqualCollection(value, other, ignoreOrder = false) {
|
|
198
|
+
if (value.length !== other.length)
|
|
199
|
+
return false;
|
|
200
|
+
if (isTrue(ignoreOrder)) {
|
|
201
|
+
return value.every((v) => other.includes(v));
|
|
202
|
+
}
|
|
203
|
+
return value.every((v, i) => isEquals(v, other[i]));
|
|
204
|
+
}
|
|
205
|
+
export function isEmpty(collection) {
|
|
206
|
+
if (collection === undefined || collection === null)
|
|
207
|
+
return true;
|
|
208
|
+
if (collection instanceof Map)
|
|
209
|
+
return collection.size === 0;
|
|
210
|
+
return collection.length === 0;
|
|
211
|
+
}
|
|
212
|
+
export function isPositive(value) {
|
|
213
|
+
if (value === undefined || value === null)
|
|
214
|
+
return false;
|
|
215
|
+
return value > 0;
|
|
216
|
+
}
|
|
217
|
+
export function isNegative(value) {
|
|
218
|
+
if (value === undefined || value === null)
|
|
219
|
+
return false;
|
|
220
|
+
return value < 0;
|
|
221
|
+
}
|
|
222
|
+
// -- URL helpers -----------------------------------------------------------
|
|
223
|
+
// From RequestUtil.normalizeUrl — prefixes '/' for relative paths, preserves
|
|
224
|
+
// absolute http(s) URLs. NOT the trailing-slash variant previously here.
|
|
225
|
+
export function normalizeUrl(url) {
|
|
226
|
+
if (isBlank(url))
|
|
227
|
+
return url;
|
|
228
|
+
const trimmed = url.trim();
|
|
229
|
+
if (trimmed.startsWith('http://') || trimmed.startsWith('https://'))
|
|
230
|
+
return trimmed;
|
|
231
|
+
if (!trimmed.startsWith('/'))
|
|
232
|
+
return `/${trimmed}`;
|
|
233
|
+
return trimmed;
|
|
234
|
+
}
|
|
235
|
+
// From StringUtil.removeTrailingSeparator — separator is REQUIRED and the
|
|
236
|
+
// logic strips the trailing segment up to (and including) the last separator.
|
|
237
|
+
export function removeTrailingSeparator(input, separator) {
|
|
238
|
+
const parts = input.split(separator);
|
|
239
|
+
const lastPart = parts[parts.length - 1];
|
|
240
|
+
if (lastPart.trim() !== '') {
|
|
241
|
+
return input.slice(0, input.lastIndexOf(separator));
|
|
242
|
+
}
|
|
243
|
+
return input;
|
|
244
|
+
}
|
|
245
|
+
// -- JSON helpers (from jsonUtils.ts) --------------------------------------
|
|
246
|
+
function reviver(_key, value) {
|
|
247
|
+
if (typeof value === 'object' && value !== null) {
|
|
248
|
+
const record = value;
|
|
249
|
+
if (record.dataType === 'Map' && record.value) {
|
|
250
|
+
return new Map(record.value);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return value;
|
|
254
|
+
}
|
|
255
|
+
function mapReplacer(_key, value) {
|
|
256
|
+
if (value instanceof Map)
|
|
257
|
+
return Object.fromEntries(value);
|
|
258
|
+
if (value instanceof Set)
|
|
259
|
+
return [...value];
|
|
260
|
+
return value;
|
|
261
|
+
}
|
|
262
|
+
export function stringify(obj, beautify) {
|
|
263
|
+
const seen = new WeakSet();
|
|
264
|
+
const circularSafeReplacer = (key, value) => {
|
|
265
|
+
const mapped = mapReplacer(key, value);
|
|
266
|
+
if (typeof mapped !== 'object' || mapped === null)
|
|
267
|
+
return mapped;
|
|
268
|
+
if (seen.has(mapped))
|
|
269
|
+
return '[Circular Reference]';
|
|
270
|
+
seen.add(mapped);
|
|
271
|
+
return mapped;
|
|
272
|
+
};
|
|
273
|
+
try {
|
|
274
|
+
return beautify
|
|
275
|
+
? JSON.stringify(obj, circularSafeReplacer, 2)
|
|
276
|
+
: JSON.stringify(obj, circularSafeReplacer);
|
|
277
|
+
}
|
|
278
|
+
catch (e) {
|
|
279
|
+
console.error('stringify error:', e);
|
|
280
|
+
return '{}';
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
// Generic JSON parser with Map reviver support.
|
|
284
|
+
// Default type parameter is `unknown` — callers should narrow explicitly via
|
|
285
|
+
// `parse<T>(str)` or `parse(str) as T`. This is stricter than prior `any`
|
|
286
|
+
// contract and nudges consumers toward explicit schema knowledge.
|
|
287
|
+
export function parse(str) {
|
|
288
|
+
return JSON.parse(str, reviver);
|
|
289
|
+
}
|
|
290
|
+
// -- Storage helpers (from LocalStorageUtils.ts / SessionStorageUtil.ts) ---
|
|
291
|
+
// Matches the original CachedStorageItem wrapper exactly so data written by
|
|
292
|
+
// host code (or by older versions of the library) remains readable.
|
|
293
|
+
class CachedStorageItem {
|
|
294
|
+
constructor(value, expiry) {
|
|
295
|
+
this.value = value;
|
|
296
|
+
this.expiry = expiry;
|
|
297
|
+
}
|
|
298
|
+
static create(props) {
|
|
299
|
+
return new CachedStorageItem(props.value, props.expiry);
|
|
300
|
+
}
|
|
301
|
+
isAvailable() {
|
|
302
|
+
if (this.expiry)
|
|
303
|
+
return Date.now() <= this.expiry;
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
getData() {
|
|
307
|
+
if (!this.isAvailable())
|
|
308
|
+
return undefined;
|
|
309
|
+
return this.value;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
function safeWindow() {
|
|
313
|
+
return typeof window !== 'undefined';
|
|
314
|
+
}
|
|
315
|
+
export function removeLocalStorageItem(key) {
|
|
316
|
+
if (!safeWindow())
|
|
317
|
+
return;
|
|
318
|
+
localStorage.removeItem(key);
|
|
319
|
+
}
|
|
320
|
+
export function setLocalStorageItem(key, value, expirySeconds) {
|
|
321
|
+
if (!safeWindow())
|
|
322
|
+
return;
|
|
323
|
+
const item = new CachedStorageItem(value, expirySeconds ? Date.now() + expirySeconds * 1000 : undefined);
|
|
324
|
+
localStorage.setItem(key, stringify(item));
|
|
325
|
+
}
|
|
326
|
+
export function getLocalStorageItem(key) {
|
|
327
|
+
if (!safeWindow())
|
|
328
|
+
return undefined;
|
|
329
|
+
const itemJson = localStorage.getItem(key);
|
|
330
|
+
if (!itemJson)
|
|
331
|
+
return undefined;
|
|
332
|
+
try {
|
|
333
|
+
const item = CachedStorageItem.create({
|
|
334
|
+
...parse(itemJson),
|
|
335
|
+
});
|
|
336
|
+
if (item.isAvailable())
|
|
337
|
+
return item.getData();
|
|
338
|
+
localStorage.removeItem(key);
|
|
339
|
+
}
|
|
340
|
+
catch (e) {
|
|
341
|
+
console.error(e);
|
|
342
|
+
}
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
export function getLocalStorageObject(key, customParse) {
|
|
346
|
+
const value = getLocalStorageItem(key);
|
|
347
|
+
if (isBlank(value))
|
|
348
|
+
return undefined;
|
|
349
|
+
if (customParse !== undefined)
|
|
350
|
+
return customParse(value);
|
|
351
|
+
return parse(value);
|
|
352
|
+
}
|
|
353
|
+
export function removeSessionStorageItem(key) {
|
|
354
|
+
if (!safeWindow())
|
|
355
|
+
return;
|
|
356
|
+
sessionStorage.removeItem(key);
|
|
357
|
+
}
|
|
358
|
+
export function setSessionStorageItem(key, value, expirySeconds) {
|
|
359
|
+
if (!safeWindow())
|
|
360
|
+
return;
|
|
361
|
+
const item = new CachedStorageItem(value, expirySeconds ? Date.now() + expirySeconds * 1000 : undefined);
|
|
362
|
+
sessionStorage.setItem(key, stringify(item));
|
|
363
|
+
}
|
|
364
|
+
export function getSessionStorageItem(key) {
|
|
365
|
+
if (!safeWindow())
|
|
366
|
+
return undefined;
|
|
367
|
+
const itemJson = sessionStorage.getItem(key);
|
|
368
|
+
if (!itemJson)
|
|
369
|
+
return undefined;
|
|
370
|
+
try {
|
|
371
|
+
const obj = parse(itemJson);
|
|
372
|
+
const item = new CachedStorageItem(obj.value, obj.expiry);
|
|
373
|
+
if (item.isAvailable())
|
|
374
|
+
return item.getData();
|
|
375
|
+
sessionStorage.removeItem(key);
|
|
376
|
+
}
|
|
377
|
+
catch {
|
|
378
|
+
sessionStorage.removeItem(key);
|
|
379
|
+
}
|
|
380
|
+
return undefined;
|
|
381
|
+
}
|
|
382
|
+
export function getSessionStorageObject(key, customParse) {
|
|
383
|
+
const value = getSessionStorageItem(key);
|
|
384
|
+
if (value === undefined)
|
|
385
|
+
return undefined;
|
|
386
|
+
if (customParse !== undefined)
|
|
387
|
+
return customParse(value);
|
|
388
|
+
return parse(value);
|
|
389
|
+
}
|
|
390
|
+
// -- Server / asset URL helpers (from Server.ts) ---------------------------
|
|
391
|
+
// Originals are module-level constants pulled from env. Library-consumer
|
|
392
|
+
// Next.js bundles substitute NEXT_PUBLIC_* at build time, so this reads the
|
|
393
|
+
// same env var and matches the original shape (plain strings, not Proxies).
|
|
394
|
+
export const ASSET_SERVER_URL = (typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_ASSET_SERVER) ||
|
|
395
|
+
'http://127.0.0.1:8320';
|
|
396
|
+
export const ASSET_PREFIX = '/static-resource/';
|
|
397
|
+
// Host-configuration override — hosts that set the env var don't need this;
|
|
398
|
+
// hosts that bootstrap at runtime (non-Next environments) can override here.
|
|
399
|
+
let _assetServerUrlOverride;
|
|
400
|
+
let _assetPrefixOverride;
|
|
401
|
+
export function configureAssetServerUrl(url) {
|
|
402
|
+
_assetServerUrlOverride = url.replace(/\/+$/, '');
|
|
403
|
+
}
|
|
404
|
+
export function configureAssetPrefix(prefix) {
|
|
405
|
+
_assetPrefixOverride = prefix;
|
|
406
|
+
}
|
|
407
|
+
function effectiveAssetServerUrl() {
|
|
408
|
+
return _assetServerUrlOverride ?? ASSET_SERVER_URL;
|
|
409
|
+
}
|
|
410
|
+
function effectiveAssetPrefix() {
|
|
411
|
+
return _assetPrefixOverride ?? ASSET_PREFIX;
|
|
412
|
+
}
|
|
413
|
+
export function getAccessableAssetUrl(imgUrl) {
|
|
414
|
+
if (!imgUrl)
|
|
415
|
+
return '';
|
|
416
|
+
let u = removeAssetServerPrefix(imgUrl);
|
|
417
|
+
if (u.startsWith('http://') || u.startsWith('https://'))
|
|
418
|
+
return u;
|
|
419
|
+
if (u.startsWith('/'))
|
|
420
|
+
u = u.substring(1);
|
|
421
|
+
return effectiveAssetServerUrl() + effectiveAssetPrefix() + u;
|
|
422
|
+
}
|
|
423
|
+
export function removeAssetServerPrefix(url) {
|
|
424
|
+
if (!url)
|
|
425
|
+
return '';
|
|
426
|
+
let u = url;
|
|
427
|
+
const server = effectiveAssetServerUrl();
|
|
428
|
+
const prefix = effectiveAssetPrefix();
|
|
429
|
+
if (u.startsWith(server))
|
|
430
|
+
u = u.substring(server.length);
|
|
431
|
+
if (u.startsWith(prefix))
|
|
432
|
+
u = u.substring(prefix.length);
|
|
433
|
+
// URL-encode each path segment; keeps '/' untouched so callers can
|
|
434
|
+
// concatenate the result with a base URL as before.
|
|
435
|
+
return u.split('/').map(encodeURIComponent).join('/');
|
|
436
|
+
}
|
|
437
|
+
export function validatedAssetFileName(fileName) {
|
|
438
|
+
fileName = fileName.replace(/ /g, '_');
|
|
439
|
+
fileName = fileName.replace(/[ㄱ-ㅎㅏ-ㅣ가-힣]/g, '_');
|
|
440
|
+
return fileName;
|
|
441
|
+
}
|
|
442
|
+
export function getDefinedDates(type) {
|
|
443
|
+
const now = new Date();
|
|
444
|
+
const start = new Date();
|
|
445
|
+
const end = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999);
|
|
446
|
+
if (type === 'TODAY') {
|
|
447
|
+
start.setHours(0, 0, 0, 0);
|
|
448
|
+
}
|
|
449
|
+
else if (type === 'WEEK') {
|
|
450
|
+
start.setDate(now.getDate() - 7);
|
|
451
|
+
start.setHours(0, 0, 0, 0);
|
|
452
|
+
}
|
|
453
|
+
else if (type === 'MONTH') {
|
|
454
|
+
start.setMonth(now.getMonth() - 1);
|
|
455
|
+
start.setHours(0, 0, 0, 0);
|
|
456
|
+
}
|
|
457
|
+
else if (type === 'MONTH3') {
|
|
458
|
+
start.setMonth(now.getMonth() - 3);
|
|
459
|
+
start.setHours(0, 0, 0, 0);
|
|
460
|
+
}
|
|
461
|
+
else if (type === 'MONTH6') {
|
|
462
|
+
start.setMonth(now.getMonth() - 6);
|
|
463
|
+
start.setHours(0, 0, 0, 0);
|
|
464
|
+
}
|
|
465
|
+
else if (type === 'YEAR') {
|
|
466
|
+
start.setFullYear(now.getFullYear() - 1);
|
|
467
|
+
start.setHours(0, 0, 0, 0);
|
|
468
|
+
}
|
|
469
|
+
return [start, end];
|
|
470
|
+
}
|
|
471
|
+
// -- API re-exports (host-supplied ApiClient; see src/listgrid/api) --------
|
|
472
|
+
export { callExternalHttpRequest, getExternalApiData, getExternalApiDataWithError } from '../api';
|
|
473
|
+
// -- Other -----------------------------------------------------------------
|
|
474
|
+
// intentional: legacy placeholders kept for API parity with the original kit surface
|
|
475
|
+
// (consumers dereference fields on these dynamically — tightening breaks out-of-scope)
|
|
476
|
+
export const RequestUtil = {};
|
|
477
|
+
export const EntityError = undefined;
|
|
478
|
+
export { ResponseData } from '../api';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { RouterApi, RouterLinkProps, RouterServices } from './types';
|
|
3
|
+
export interface RouterProviderProps {
|
|
4
|
+
value: RouterServices;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function RouterProvider({ value, children }: RouterProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function useRouter(): RouterApi;
|
|
9
|
+
export declare function usePathname(): string;
|
|
10
|
+
export declare function useParams(): Record<string, string | string[] | undefined>;
|
|
11
|
+
export declare function useSearchParams(): URLSearchParams;
|
|
12
|
+
export declare function Link(props: RouterLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext } from 'react';
|
|
4
|
+
const RouterContext = createContext(null);
|
|
5
|
+
export function RouterProvider({ value, children }) {
|
|
6
|
+
return _jsx(RouterContext.Provider, { value: value, children: children });
|
|
7
|
+
}
|
|
8
|
+
function mustRouter(caller) {
|
|
9
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks -- assertion helper always invoked from within hooks/components below
|
|
10
|
+
const ctx = useContext(RouterContext);
|
|
11
|
+
if (!ctx) {
|
|
12
|
+
throw new Error(`[@rchemist/listgrid] ${caller} must be called within a <RouterProvider>. ` +
|
|
13
|
+
'Wrap your app with <RouterProvider value={...}> imported from @rchemist/listgrid. ' +
|
|
14
|
+
'See @rchemist/listgrid-next for a Next.js adapter.');
|
|
15
|
+
}
|
|
16
|
+
return ctx;
|
|
17
|
+
}
|
|
18
|
+
export function useRouter() {
|
|
19
|
+
return mustRouter('useRouter').useRouter();
|
|
20
|
+
}
|
|
21
|
+
export function usePathname() {
|
|
22
|
+
return mustRouter('usePathname').usePathname();
|
|
23
|
+
}
|
|
24
|
+
export function useParams() {
|
|
25
|
+
return mustRouter('useParams').useParams();
|
|
26
|
+
}
|
|
27
|
+
export function useSearchParams() {
|
|
28
|
+
return mustRouter('useSearchParams').useSearchParams();
|
|
29
|
+
}
|
|
30
|
+
export function Link(props) {
|
|
31
|
+
const services = mustRouter('Link');
|
|
32
|
+
const Impl = services.Link;
|
|
33
|
+
return _jsx(Impl, { ...props });
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RouterProvider, useRouter, usePathname, useParams, useSearchParams, Link, } from './RouterProvider';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ComponentType, MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export interface RouterApi {
|
|
3
|
+
push(url: string): void;
|
|
4
|
+
replace(url: string): void;
|
|
5
|
+
refresh?(): void;
|
|
6
|
+
back?(): void;
|
|
7
|
+
forward?(): void;
|
|
8
|
+
prefetch?(url: string): void;
|
|
9
|
+
}
|
|
10
|
+
export interface RouterLinkProps {
|
|
11
|
+
href: string;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
|
|
15
|
+
target?: string;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Router services consumed by listgrid. Host adapters supply this to
|
|
20
|
+
* <RouterProvider value={...}>. The useXxx properties are React hooks
|
|
21
|
+
* — they will be invoked during listgrid component renders.
|
|
22
|
+
*/
|
|
23
|
+
export interface RouterServices {
|
|
24
|
+
/** Hook returning the imperative router API. Called inside listgrid components. */
|
|
25
|
+
useRouter: () => RouterApi;
|
|
26
|
+
/** Hook returning the current pathname (e.g. "/admin/users"). */
|
|
27
|
+
usePathname: () => string;
|
|
28
|
+
/** Hook returning current route params (dynamic segments). */
|
|
29
|
+
useParams: () => Record<string, string | string[] | undefined>;
|
|
30
|
+
/** Hook returning current URL search params. */
|
|
31
|
+
useSearchParams: () => URLSearchParams;
|
|
32
|
+
/** Link component that navigates client-side without full reload. */
|
|
33
|
+
Link: ComponentType<RouterLinkProps>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface ModalOptions {
|
|
3
|
+
modalId?: string;
|
|
4
|
+
title?: ReactNode;
|
|
5
|
+
size?: string;
|
|
6
|
+
fullHeight?: boolean;
|
|
7
|
+
maxHeight?: string;
|
|
8
|
+
content?: ReactNode;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
interface ModalManagerState {
|
|
13
|
+
openModals: ModalOptions[];
|
|
14
|
+
openModal: (options: ModalOptions) => string;
|
|
15
|
+
closeModal: (modalId?: string, ...rest: unknown[]) => void;
|
|
16
|
+
closeTopModal: () => Promise<void>;
|
|
17
|
+
findModal: (modalId: string) => ModalOptions | undefined;
|
|
18
|
+
updateModalData: (modalId: string, data: Partial<ModalOptions>) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const useModalManagerStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ModalManagerState>>;
|
|
21
|
+
export declare function configureOverlayZIndex(base: number): void;
|
|
22
|
+
export declare function getOverlayZIndex(offset?: number): number;
|
|
23
|
+
export declare const POPOVER_Z_INDEX = 50;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Stage 3d — internal modal/overlay state using zustand (already a dep).
|
|
2
|
+
//
|
|
3
|
+
// Shape matches the original the legacy UI kit API surface used throughout
|
|
4
|
+
// listgrid: modalId-based, plus helpers closeTopModal / findModal /
|
|
5
|
+
// updateModalData. Typed permissively (`any` on content) so host apps
|
|
6
|
+
// can keep their existing modal conventions.
|
|
7
|
+
import { create } from 'zustand';
|
|
8
|
+
export const useModalManagerStore = create((set, get) => ({
|
|
9
|
+
openModals: [],
|
|
10
|
+
openModal: (options) => {
|
|
11
|
+
const modalId = options.modalId ?? `modal-${Math.random().toString(36).slice(2, 10)}`;
|
|
12
|
+
const normalized = { ...options, modalId };
|
|
13
|
+
set((state) => ({
|
|
14
|
+
openModals: [...state.openModals.filter((m) => m.modalId !== modalId), normalized],
|
|
15
|
+
}));
|
|
16
|
+
return modalId;
|
|
17
|
+
},
|
|
18
|
+
closeModal: (modalId) => set((state) => ({
|
|
19
|
+
openModals: modalId ? state.openModals.filter((m) => m.modalId !== modalId) : [],
|
|
20
|
+
})),
|
|
21
|
+
closeTopModal: async () => {
|
|
22
|
+
set((state) => ({
|
|
23
|
+
openModals: state.openModals.slice(0, -1),
|
|
24
|
+
}));
|
|
25
|
+
},
|
|
26
|
+
findModal: (modalId) => get().openModals.find((m) => m.modalId === modalId),
|
|
27
|
+
updateModalData: (modalId, data) => set((state) => ({
|
|
28
|
+
openModals: state.openModals.map((m) => (m.modalId === modalId ? { ...m, ...data } : m)),
|
|
29
|
+
})),
|
|
30
|
+
}));
|
|
31
|
+
// Overlay z-index helpers. Host apps that layer the library deep inside a
|
|
32
|
+
// portal can override via configureOverlayZIndex.
|
|
33
|
+
let _baseOverlayZIndex = 1000;
|
|
34
|
+
export function configureOverlayZIndex(base) {
|
|
35
|
+
_baseOverlayZIndex = base;
|
|
36
|
+
}
|
|
37
|
+
export function getOverlayZIndex(offset = 0) {
|
|
38
|
+
return _baseOverlayZIndex + offset;
|
|
39
|
+
}
|
|
40
|
+
export const POPOVER_Z_INDEX = 50;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataField, DataRow, DataRowSet, SampleDataItem } from '../transfer/Type';
|
|
2
|
+
import { SearchForm } from '../form/SearchForm';
|
|
3
|
+
interface ExportProcessorProps {
|
|
4
|
+
process: boolean;
|
|
5
|
+
fields: DataField[];
|
|
6
|
+
url?: string | undefined;
|
|
7
|
+
onProcessed: () => void;
|
|
8
|
+
maxCount?: number | undefined;
|
|
9
|
+
countPerPage?: number | undefined;
|
|
10
|
+
searchForm?: SearchForm | undefined;
|
|
11
|
+
exportFileName?: string | undefined;
|
|
12
|
+
data?: SampleDataItem[][] | undefined;
|
|
13
|
+
password?: string | undefined;
|
|
14
|
+
addedFields?: ((row: DataRow) => Promise<DataRow>) | undefined;
|
|
15
|
+
overrideFormData?: ((formData: DataRowSet) => Promise<DataRowSet>) | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare const DataExportProcessor: ({ process, url, fields, onProcessed, maxCount, countPerPage, searchForm, exportFileName, data: initialData, password, addedFields, overrideFormData, }: ExportProcessorProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|