forked from FINAKON/HelpProject
1. Initial Commit - a boiler plate code and POC to realize the concept of context sensitive help 2. Frontend code written in ReactJS 3. Backend code written in Java, Spring Boot Framework 4. Frontend Start: pre-requisites : node, npm npm run dev ==> to start the frontend vite server 5. Backend Start: pre-requisites : java, mvn mvn spring-boot:run ==> to start the backend server 6. Visit http://localhost:5173/ for basic demo of help, press F1 in textboxes 7. Visit http://localhost:5173/editor and enter "admin123" to add/modify texts. Happy Coding !!! Thank you, Bhargava.
119 lines
2.9 KiB
TypeScript
119 lines
2.9 KiB
TypeScript
/**
|
|
* Info on a property.
|
|
*/
|
|
export interface Info {
|
|
/**
|
|
* Attribute name for the property that could be used in markup
|
|
* (such as `'aria-describedby'`, `'allowfullscreen'`, `'xml:lang'`,
|
|
* `'for'`, or `'charoff'`).
|
|
*/
|
|
attribute: string
|
|
/**
|
|
* The property is *like* a `boolean`
|
|
* (such as `draggable`);
|
|
* these properties have both an on and off state when defined,
|
|
* *and* another state when not defined.
|
|
*/
|
|
booleanish: boolean
|
|
/**
|
|
* The property is a `boolean`
|
|
* (such as `hidden`);
|
|
* these properties have an on state when defined and an off state when not
|
|
* defined.
|
|
*/
|
|
boolean: boolean
|
|
/**
|
|
* The property is a list separated by spaces or commas
|
|
* (such as `strokeDashArray`).
|
|
*/
|
|
commaOrSpaceSeparated: boolean
|
|
/**
|
|
* The property is a list separated by commas
|
|
* (such as `coords`).
|
|
*/
|
|
commaSeparated: boolean
|
|
/**
|
|
* The property is defined by a space;
|
|
* this is the case for values in HTML
|
|
* (including data and ARIA),
|
|
* SVG, XML, XMLNS, and XLink;
|
|
* not defined properties can only be found through `find`.
|
|
*/
|
|
defined: boolean
|
|
/**
|
|
* When working with the DOM,
|
|
* this property has to be changed as a field on the element,
|
|
* instead of through `setAttribute`
|
|
* (this is true only for `'checked'`, `'multiple'`, `'muted'`, and
|
|
* `'selected'`).
|
|
*/
|
|
mustUseProperty: boolean
|
|
/**
|
|
* The property is a `number` (such as `height`).
|
|
*/
|
|
number: boolean
|
|
/**
|
|
* The property is *like* a `boolean` (such as `download`);
|
|
* these properties have an on state *and* more states when defined and an
|
|
* off state when not defined.
|
|
*/
|
|
overloadedBoolean: boolean
|
|
/**
|
|
* JavaScript-style camel-cased name;
|
|
* based on the DOM but sometimes different
|
|
* (such as `'ariaDescribedBy'`, `'allowFullScreen'`, `'xmlLang'`,
|
|
* `'htmlFor'`, `'charOff'`).
|
|
*/
|
|
property: string
|
|
/**
|
|
* The property is a list separated by spaces
|
|
* (such as `className`).
|
|
*/
|
|
spaceSeparated: boolean
|
|
/**
|
|
* Space of the property.
|
|
*/
|
|
space: Space | undefined
|
|
}
|
|
|
|
/**
|
|
* Schema for a primary space.
|
|
*/
|
|
export interface Schema {
|
|
/**
|
|
* Object mapping normalized attributes and properties to properly cased
|
|
* properties.
|
|
*/
|
|
normal: Record<string, string>
|
|
/**
|
|
* Object mapping properties to info.
|
|
*/
|
|
property: Record<string, Info>
|
|
space: Space | undefined
|
|
}
|
|
|
|
/**
|
|
* Space of a property.
|
|
*/
|
|
export type Space = 'html' | 'svg' | 'xlink' | 'xmlns' | 'xml'
|
|
|
|
export {find} from './lib/find.js'
|
|
|
|
export {hastToReact} from './lib/hast-to-react.js'
|
|
|
|
/**
|
|
* `Schema` for HTML,
|
|
* with info on properties from HTML itself and related embedded spaces
|
|
* (ARIA, XML, XMLNS, XLink).
|
|
*/
|
|
export const html: Schema
|
|
|
|
export {normalize} from './lib/normalize.js'
|
|
|
|
/**
|
|
* `Schema` for SVG,
|
|
* with info on properties from SVG itself and related embedded spaces
|
|
* (ARIA, XML, XMLNS, XLink).
|
|
*/
|
|
export const svg: Schema
|