https://github.com/rhdeck/react-modal-base
Base utility for building a modal dialog for collecting information in React
https://github.com/rhdeck/react-modal-base
Last synced: over 1 year ago
JSON representation
Base utility for building a modal dialog for collecting information in React
- Host: GitHub
- URL: https://github.com/rhdeck/react-modal-base
- Owner: rhdeck
- License: mit
- Created: 2020-09-27T20:54:52.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-12-11T19:49:25.000Z (over 3 years ago)
- Last Synced: 2025-01-21T20:49:03.108Z (over 1 year ago)
- Language: TypeScript
- Size: 1.77 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Template for making easy-to-work-with tempates
# ts-template
## Usage
1. [Copy this template](https://github.com/rhdeck/ts-template/)
2. Clone to a local directory (eg `git clone https://github.com/me/my-repository/ && cd my-repository`)
3. Run `yarn && yarn setup` to initialize the node package (Get rid of template strings - and this readme!)
4. Happy Coding!
## Useful Scripts
1. `yarn build` will build using typescript pre-configured to node-compatible defaults
2. `yarn docs` will auto-generate a README.md that starts with TOP.md, then adds CLI documentation (via [commanderdoc](https://npmjs.com/package/commanderdoc)) for any tool you have set up, and then library documentation after that.
3. `yarn test` is pre-configured to test for typescript errors
4. `yarn watch` will watch the codebase for changes and rebuild (using [livelink](https://npmjs.com/package/@raydeck/livelink))
## Git code protections
1. `git commit` will be blocked on the `main` branch unless you set the environment variable `ALLOWMAIN=1` Branch commits and PRs are thus encouraged
2. `git commit` also tests messages for meeting the commitline standard conventions.
3. `git commit` blocks pushes that do not pass `yarn test` (as a base case, they must pass typescript compilation)
4. `npm publish` will always rebuild the code, the documentation, and push those changes back to the repository.
5. `npm publish` will only publish the lib and src directories - any others are no
## A note on "main"
I made a deliberate choice to change the primary branch from `master` to `main` for reasons that are obvious to some. This repository endeavors to make that just automatic.
PRs and feedback welcome via GitHub issues.
**@raydeck/react-modal-base - v4.0.0**
> Globals
# @raydeck/react-modal-base - v4.0.0
## Index
### Interfaces
* [BaseType](#interfacesbasetypemd)
* [ContextType](#interfacescontexttypemd)
* [DeferredType](#interfacesdeferredtypemd)
### Functions
* [makeDeferred](#makedeferred)
* [makeDialog](#makedialog)
## Functions
### makeDeferred
▸ **makeDeferred**\(): [DeferredType](#interfacesdeferredtypemd)\
*Defined in [index.tsx:14](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L14)*
#### Type parameters:
Name |
------ |
`T` |
**Returns:** [DeferredType](#interfacesdeferredtypemd)\
___
### makeDialog
▸ **makeDialog**\(`__namedParameters`: { Dialog: FC\ & { reject?: undefined \| (reason?: any) => void ; resolve?: undefined \| (arg?: PromiseType) => void }> ; useSetValue: () => ArgsType ; useSetContext: (__namedParameters: {}) => void }): [FC, () => [(arg: Partial\) => Promise\, (arg?: PromiseType) => void], (C: FC) => FC]
*Defined in [index.tsx:29](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L29)*
#### Type parameters:
Name | Type |
------ | ------ |
`PromiseType` | - |
`ArgsType` | [BaseType](#interfacesbasetypemd) |
#### Parameters:
Name | Type |
------ | ------ |
`__namedParameters` | { Dialog: FC\ & { reject?: undefined \| (reason?: any) => void ; resolve?: undefined \| (arg?: PromiseType) => void }> ; useSetValue: () => ArgsType ; useSetContext: (__namedParameters: {}) => void } |
**Returns:** [FC, () => [(arg: Partial\) => Promise\, (arg?: PromiseType) => void], (C: FC) => FC]
**@raydeck/react-modal-base - v4.0.0**
> [Globals](#readmemd) / BaseType
# Interface: BaseType
## Hierarchy
* **BaseType**
↳ [ContextType](#interfacescontexttypemd)
**@raydeck/react-modal-base - v4.0.0**
> [Globals](#readmemd) / ContextType
# Interface: ContextType\<**PromiseType**>
## Type parameters
* PromiseType
## Hierarchy
* [BaseType](#interfacesbasetypemd)
↳ **ContextType**
## Index
### Properties
* [deferred](#deferred)
* [isOpen](#isopen)
* [setDeferred](#setdeferred)
* [setIsOpen](#setisopen)
## Properties
### deferred
• `Optional` **deferred**: [DeferredType](#interfacesdeferredtypemd)\
*Defined in [index.tsx:26](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L26)*
___
### isOpen
• **isOpen**: boolean
*Defined in [index.tsx:24](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L24)*
___
### setDeferred
• `Optional` **setDeferred**: undefined \| (deferred: [DeferredType](#interfacesdeferredtypemd)\) => void
*Defined in [index.tsx:27](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L27)*
___
### setIsOpen
• **setIsOpen**: (isOpen: boolean) => void
*Defined in [index.tsx:25](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L25)*
**@raydeck/react-modal-base - v4.0.0**
> [Globals](#readmemd) / DeferredType
# Interface: DeferredType\<**T**>
## Type parameters
* T
## Hierarchy
* **DeferredType**
## Index
### Properties
* [promise](#promise)
* [reject](#reject)
* [resolve](#resolve)
## Properties
### promise
• `Optional` **promise**: Promise\
*Defined in [index.tsx:12](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L12)*
___
### reject
• `Optional` **reject**: undefined \| (reason?: any) => void
*Defined in [index.tsx:11](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L11)*
___
### resolve
• `Optional` **resolve**: undefined \| (arg?: T) => void
*Defined in [index.tsx:10](https://github.com/rhdeck/react-modal-base/blob/aff9517/src/index.tsx#L10)*