diff --git a/ivette/Makefile b/ivette/Makefile index 2f7a87746c53be6542f0388fbcbefcd44d518a2d..e13ab0023441616a14819771aa05d7231558c570 100644 --- a/ivette/Makefile +++ b/ivette/Makefile @@ -12,7 +12,6 @@ COPYRIGHT=CEA LIST / LSL app: dome-app dev: dome-dev -doc: dome-doc dist: dome-dist typecheck: @@ -23,6 +22,28 @@ lint: @echo "[Ivette] running ts linter" yarn run lint +# -------------------------------------------------------------------------- +# --- Ivette Documentation +# -------------------------------------------------------------------------- + +# can also use dome-doc to generate Dome-only documentation + +D_JSDOC=$(CURDIR)/node_modules/.bin/jsdoc +D_ICONS=$(addprefix $(DOME)/doc/template/gallery-, head.html icons.html tail.html) +D_OUT=./doc/html + +doc: $(D_JSDOC) $(D_ICONS) + @echo "[Ivette] documentation" + @rm -fr ./build ./doc + @yarn run build + @mkdir -p ./doc/html + @(APP=$(APP) COPYRIGHT="$(COPYRIGHT)" DOME=$(DOME) \ + yarn exec jsdoc -- -c jsdoc.json -d doc/html) + @cat $(D_ICONS) > $(D_OUT)/tutorial-icons.html + @cp -f $(DOME)/doc/gallery.css $(D_OUT)/styles/ + @cp -f $(DOME)/doc/tutorials/*.png $(D_OUT)/ + @echo "[Ivette] $(DOME_DOC)/index.html" + # -------------------------------------------------------------------------- # --- Ivette Plugins # -------------------------------------------------------------------------- diff --git a/ivette/README.md b/ivette/README.md index d21bc144e9872742689303976495347e423de18b..584760847f04c0e603effac7e839ddb88ee4f095 100644 --- a/ivette/README.md +++ b/ivette/README.md @@ -6,11 +6,15 @@ From the `./ivette` sub-directory of Frama-C main directory: $ make app ``` -## Typescript & Emacs +## Typescript Editors Emacs mode configuration can be setup with Typescript, Web-mode and Tide packages which are all available with MELPA. For configuring your `.emacs` accordingly, -please look at the [EMACS](./EMACS.el) file. +please look at the `EMACS.el`. This setup the Tide package to work with +`typescript-mode` for `*.ts` files (see also `tsfmt.json` config file) +and `web-mode` for `*.tsx` files. + +VS-Code is also known to work out of the box. ## Mirroring to Dome/Electron diff --git a/ivette/jsdoc.json b/ivette/jsdoc.json new file mode 100644 index 0000000000000000000000000000000000000000..3737d8aa52005edc2b83fef5b60bb6808e436d60 --- /dev/null +++ b/ivette/jsdoc.json @@ -0,0 +1,21 @@ +{ + "source": { + "include": [ + "src/dome/doc/README.md", + "build" + ] + }, + "opts": { + "recurse": true, + "tutorials": "src/dome/doc/tutorials", + "template": "src/dome/doc/template" + }, + "plugins": [ "plugins/markdown" ], + "templates": { + "default": { + "useLongnameInNav": true, + "outputSourceFiles": false, + "includeDate": false + } + } +} diff --git a/ivette/src/dome/src/renderer/controls/buttons.js b/ivette/src/dome/src/renderer/controls/buttons.js index b45d013581db44b37ae5bece3c788d6a3baf31ee..de0d4d2aecac192fd979a394cd6ddd998826bfe6 100644 --- a/ivette/src/dome/src/renderer/controls/buttons.js +++ b/ivette/src/dome/src/renderer/controls/buttons.js @@ -51,7 +51,7 @@ export const LCD = (props) => ( // -------------------------------------------------------------------------- /** - @summary Led indicator + @summary Led indicator. @property {string} [status] - Led status and color (default: inactive) @property {boolean} [blink] - Led blinking (default: false) @property {string} [title] - Led tooltip (optional) @@ -491,7 +491,7 @@ export const Select = (props) => { // -------------------------------------------------------------------------- /** - @summary Text Field + @summary Text Field. @property {string} [value] - Field initial content @property {string} [edited] - Field current value @property {boolean} [enabled] - Defaults to `true` diff --git a/ivette/src/dome/src/renderer/dome.js b/ivette/src/dome/src/renderer/dome.js index 8f0e432ed95109ca857ff8c9e1177973ef11c200..322257c62587ae45744e4eee0f47106d935aeaef 100644 --- a/ivette/src/dome/src/renderer/dome.js +++ b/ivette/src/dome/src/renderer/dome.js @@ -566,7 +566,7 @@ ipcRenderer.on('dome.ipc.href',(href) => emitter.emit('dome.href',href)); // -------------------------------------------------------------------------- /** - @summary Inlined Function React Component + @summary Inlined Function React Component. @property {function} children - render function as children @description Allows to define an inlined functional component inside JSX. diff --git a/ivette/src/dome/src/renderer/layout/boxes.js b/ivette/src/dome/src/renderer/layout/boxes.js index 52094e3166029afa00203f9c2f2bc1ea62a32851..5719f246a0f2498fb8b3469f920e7aa265d2d918 100644 --- a/ivette/src/dome/src/renderer/layout/boxes.js +++ b/ivette/src/dome/src/renderer/layout/boxes.js @@ -64,7 +64,7 @@ const makeBox = ( boxClasses, props, morestyle ) => { // -------------------------------------------------------------------------- /** - @summary Horizontal box (extends horizontally, no overflow) + @summary Horizontal box (extends horizontally, no overflow). @property {object} [...props] - Extra properties passed to the `<div>` container @description <strong>Warning:</strong> large elements will be clipped if they overflow. @@ -72,7 +72,7 @@ const makeBox = ( boxClasses, props, morestyle ) => { export const Hbox = (props) => makeBox( 'dome-xBoxes-hbox dome-xBoxes-box' , props ); /** - @summary Vertical box (extends vertically, no overflow) + @summary Vertical box (extends vertically, no overflow). @property {object} [...props] - Extra properties passed to the `<div>` container @description <strong>Warning:</strong> large elements will be clipped if they overflow. @@ -80,7 +80,7 @@ export const Hbox = (props) => makeBox( 'dome-xBoxes-hbox dome-xBoxes-box' , pro export const Vbox = (props) => makeBox( 'dome-xBoxes-vbox dome-xBoxes-box' , props ); /** - @summary Compact Horizontal box (fixed dimensions, no overflow) + @summary Compact Horizontal box (fixed dimensions, no overflow). @property {object} [...props] - Extra properties passed to the `<div>` container @description <strong>Warning:</strong> large elements would be clipped if they overflow. @@ -88,7 +88,7 @@ export const Vbox = (props) => makeBox( 'dome-xBoxes-vbox dome-xBoxes-box' , pro export const Hpack = (props) => makeBox( 'dome-xBoxes-hbox dome-xBoxes-pack' , props ); /** - @summary Compact Vertical box (fixed dimensions, no overflow) + @summary Compact Vertical box (fixed dimensions, no overflow). @property {object} [...props] - Extra properties passed to the `<div>` container @description <strong>Warning:</strong> large elements will be clipped if they overflow. @@ -96,7 +96,7 @@ export const Hpack = (props) => makeBox( 'dome-xBoxes-hbox dome-xBoxes-pack' , p export const Vpack = (props) => makeBox( 'dome-xBoxes-vbox dome-xBoxes-pack' , props ); /** - @summary Horizontally filled box (fixed height, maximal width, no overflow) + @summary Horizontally filled box (fixed height, maximal width, no overflow). @property {object} [...props] - Extra properties passed to the `<div>` container @description <strong>Warning:</strong> large elements will be clipped if they overflow. @@ -104,7 +104,7 @@ export const Vpack = (props) => makeBox( 'dome-xBoxes-vbox dome-xBoxes-pack' , p export const Hfill = (props) => makeBox( 'dome-xBoxes-hbox dome-xBoxes-fill' , props ); /** - @summary Vertically filled box (fixed width, maximal height, no overflow) + @summary Vertically filled box (fixed width, maximal height, no overflow). @property {object} [...props] - Extra properties passed to the `<div>` container @description <strong>Warning:</strong> large elements will be clipped if they overflow. @@ -116,19 +116,19 @@ export const Vfill = (props) => makeBox( 'dome-xBoxes-vbox dome-xBoxes-fill' , p // -------------------------------------------------------------------------- /** - @summary Scrolling container + @summary Scrolling container. @property {object} [...props] - Extra properties passed to the `<div>` container */ export const Scroll = (props) => makeBox( 'dome-xBoxes-scroll dome-container' , props ); /** - @summary rigid space between items in a box + @summary Rigid space between items in a box. @property {object} [...props] - Extra properties passed to the `<div>` separator */ export const Space = (props) => makeBox( 'dome-xBoxes-space' , props ); /** - @summary extensible space between items in a box + @summary Extensible space between items in a box. @property {object} [...props] - Extra properties passed to the `<div>` separator */ export const Filler = (props) => makeBox( 'dome-xBoxes-filler' , props ); @@ -138,7 +138,7 @@ export const Filler = (props) => makeBox( 'dome-xBoxes-filler' , props ); // -------------------------------------------------------------------------- /** - @summary Grid box container + @summary Grid box container. @property {string} [columns] - Grid column specifications @property {object} [...props] - Extra properties passed to the `<div>` container @description @@ -158,7 +158,7 @@ export const Grid = ({columns='auto',...props}) => // -------------------------------------------------------------------------- /** - @summary Foldable Vpack box + @summary Foldable Vpack box. @property {string} label - box label @property {string} [title] - box label tooltip @property {string} [settings] - window setting to store the fold/unfold state @@ -167,7 +167,8 @@ export const Grid = ({columns='auto',...props}) => @description A vertical `Vpack` box with a clickable head label to fold/unfold its content. */ -export function Folder( { settings, defaultUnfold=false, indent=18, label, title, children } ) +export const Folder = + ({ settings, defaultUnfold=false, indent=18, label, title, children }) => { const [ unfold , setUnfold ] = Dome.useState( settings, defaultUnfold ); const icon = unfold ? 'TRIANGLE.DOWN' : 'TRIANGLE.RIGHT' ; @@ -180,7 +181,7 @@ export function Folder( { settings, defaultUnfold=false, indent=18, label, title </Vpack> </Vpack> ); -} +}; // -------------------------------------------------------------------------- diff --git a/ivette/src/dome/src/renderer/layout/dispatch.js b/ivette/src/dome/src/renderer/layout/dispatch.js index 6cb1694d738c041e9bd88848b4e29f550be96443..c1953f8c53a29a28a83374cfebbf854e0333837b 100644 --- a/ivette/src/dome/src/renderer/layout/dispatch.js +++ b/ivette/src/dome/src/renderer/layout/dispatch.js @@ -58,7 +58,7 @@ const removeItem = (id) => { // -------------------------------------------------------------------------- /** - @summary Define dispatched item + @summary Define dispatched item. @property {string} id - the item _global_ unique identifier @property {React.Children} {children} - item contents @description @@ -81,7 +81,7 @@ export function Item({ id, children }) // -------------------------------------------------------------------------- /** - @summary Render dispatched item + @summary Render dispatched item. @property {string} id - the item _global_ unique identifier to render @property {function|React.Children} {children} - conditional or alternative content (default: `null`) @description diff --git a/ivette/src/dome/src/renderer/layout/forms.js b/ivette/src/dome/src/renderer/layout/forms.js index 193ce1303ba56b3cad101334ec5a7bf95493d90a..81b2edf4b41bc4bf94d06c745306148cbc29c6b4 100644 --- a/ivette/src/dome/src/renderer/layout/forms.js +++ b/ivette/src/dome/src/renderer/layout/forms.js @@ -176,7 +176,7 @@ const PERIOD = (latency) => { }; /** - @summary Generic context wrapper for field values + @summary Generic context wrapper for field values. @property {string} [path] - select a property in the context value (and error) @property {any} [value] - set the inherited or edited value @property {any} [error] - set the inherited or edited error @@ -300,7 +300,7 @@ export function Select({ // -------------------------------------------------------------------------- /** - @summary Form Container + @summary Form Container. @property {string} [className] - Container additional class @property {object} [style] - Container additional style @property {object} [value] - Set the form context value @@ -350,7 +350,7 @@ const ERROR_MSG = (error) => { }; /** - @summary Warning badge with description + @summary Warning badge with description. @property {string} [warn] - the short message (hovered) @property {number} [offset] - the label offset (Cf. field) @property {any} [error] - the error description (in tooltip) @@ -381,7 +381,7 @@ const TITLE_ENABLED = 'dome-text-title' ; const TITLE_DISABLED = 'dome-text-title dome-disabled' ; /** - @summary Expandable Section sub-form + @summary Expandable Section sub-form. @property {string} label - Section title @property {string} [title] - Tooltip text @property {string} [path] - Fields selection @@ -430,7 +430,7 @@ export function Section(props) // -------------------------------------------------------------------------- /** - @summary Full width form block + @summary Full width form block. @property {any} [...props] - [Select](module-dome_layout_forms.Select.html) properties @property {React.children|function} [children] - Block content @description @@ -459,7 +459,7 @@ const FIELD_DISABLED = 'dome-xForm-field dome-text-label dome-disabled'; /** @class - @summary Generic Custom Field + @summary Generic Custom Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {number} [offset] - Vertical label offset (for baseline alignment) @@ -520,7 +520,7 @@ export class Field extends React.Component // -------------------------------------------------------------------------- /** - @summary Field List Container + @summary Field List Container. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {boolean} [warn] - Display errors (default: `false`) @@ -548,7 +548,7 @@ export const FieldList = ({ label, title, warn=false, children, ...props }) => ( // -------------------------------------------------------------------------- /** - @summary Text Field + @summary Text Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [placeholder] - Input field place holder @@ -579,7 +579,7 @@ export const FieldText = ({ className, style, latency=true, placeholder, ...prop // -------------------------------------------------------------------------- /** - @summary Monospaced Text Field + @summary Monospaced Text Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [placeholder] - Input field place holder @@ -610,7 +610,7 @@ export const FieldCode = ({ className, style, latency=true, placeholder, ...prop // -------------------------------------------------------------------------- /** - @summary Text Area Field + @summary Text Area Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [className] - Input field additional class @@ -646,7 +646,7 @@ export const FieldTextArea = ({ className, style, cols=35, rows=5, // -------------------------------------------------------------------------- /** - @summary Text Area Field + @summary Text Area Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [className] - Input field additional class @@ -699,7 +699,7 @@ const TEXT_OF_NUMBER = (v) => v===undefined ? '' : PARSE_NUMBER(v,true).toLocale const NUMBER_OF_TEXT = (s) => s==='' ? undefined : PARSE_NUMBER(s.replace(/[ ,]/g,'')); /** - @summary Number Field + @summary Number Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [placeholder] - Input field place holder @@ -761,7 +761,7 @@ const INT_RANGE = (min,max,warning) => (v) => warning || 'Range ' + min + '…' + max ; /** - @summary Spinner Field + @summary Spinner Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [placeholder] - Input field place holder @@ -858,7 +858,7 @@ class REVEAL extends React.Component { /** - @summary Slider Field + @summary Slider Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {number} [min] - Minimum value (default: -24) @@ -907,7 +907,7 @@ export const FieldSlider = // -------------------------------------------------------------------------- /** - @summary Date Field + @summary Date Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [min] - Minimum date (default to `undefined`) @@ -940,7 +940,7 @@ export const FieldDate = ({ className, style, latency=true, min, max, ...props } // -------------------------------------------------------------------------- /** - @summary Time Field + @summary Time Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [min] - Minimum time (default to `undefined`) @@ -974,7 +974,7 @@ export const FieldTime = ({ className, style, latency=true, min, max, ...props } // -------------------------------------------------------------------------- /** - @summary Color Field + @summary Color Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [className] - Input field additional class @@ -1003,7 +1003,7 @@ export const FieldColor = ({ className, style, latency=true, ...props }) => ( // -------------------------------------------------------------------------- /** - @summary Select Field + @summary Select Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {string} [placeholder] - Selector placeholder @@ -1044,7 +1044,7 @@ export const FieldSelect = ({ className, style, children, placeholder, ...props // -------------------------------------------------------------------------- /** - @summary Checkbox Field + @summary Checkbox Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {boolean} [inverted] - Inverted value (incompatible with `input` and `output` properties) @@ -1072,7 +1072,7 @@ export const FieldCheckbox = ({ label, title, inverted, ...props }) => { // -------------------------------------------------------------------------- /** - @summary Radio Button Field + @summary Radio Button Field. @property {string} [label] - Field label @property {string} [title] - Field tooltip text @property {any} [value] - Value associated with the radio button diff --git a/ivette/src/dome/src/renderer/layout/grids.js b/ivette/src/dome/src/renderer/layout/grids.js index ccb5e46c344af884acb4d308893015de51ef192a..facd9df969474ab9e63c0988154b818321c1f091 100644 --- a/ivette/src/dome/src/renderer/layout/grids.js +++ b/ivette/src/dome/src/renderer/layout/grids.js @@ -745,7 +745,7 @@ function orderElements( e1 , e2 ) // -------------------------------------------------------------------------- /** - @summary Elementary GridLayout Component + @summary Elementary GridLayout Component. @property {string} id - Component identifier @property {boolean} display - Whether to mount the component @property {number} width - Desired component width @@ -935,7 +935,7 @@ function makeChildrenGrid( dir, items, children, shape ) /** @class - @summary Grid-based Flexible Container + @summary Grid-based Flexible Container. @property {direction} [dir] - Default children layout (`'horizontal'` or `'vertical'`) @property {number} [padding] - Padding between items @property {Shape} [shape] - The desired shape (defaults to children grid) @@ -1097,7 +1097,7 @@ const DRAGGABLEITEM = /** @class - @summary Grid Container + @summary Grid Container. @property {direction} [dir] - Default children layout (`'horizontal'` or `'vertical'`) @property {number} [padding] - Padding between items @property {Shape} [shape] - The desired shape (defaults to children grid) diff --git a/ivette/src/dome/src/renderer/layout/pages.js b/ivette/src/dome/src/renderer/layout/pages.js index 326344a42c33b78b57889425ff0f85884ec5c01f..9cfa0c6e11c9f02523e3faadcbada26744fef739 100644 --- a/ivette/src/dome/src/renderer/layout/pages.js +++ b/ivette/src/dome/src/renderer/layout/pages.js @@ -32,9 +32,9 @@ import './pages.css' ; // -------------------------------------------------------------------------- /** + @summary Blank HTML page. @property {object} [style] - additional style elements @property {Elements} [children] - page content - @summary a blank HTML page @description The page has insets and shadows and fills the entire available area. @@ -56,9 +56,9 @@ export const Page = ({style,children}) => { // -------------------------------------------------------------------------- /** + @summary Blank HTML textarea. @property {object} [style] - additional style elements @property {Elements} [children] - page content - @summary a blank HTML textarea @description The area has small padding and no margin, and does not scroll its content. diff --git a/ivette/src/dome/src/renderer/layout/sidebars.js b/ivette/src/dome/src/renderer/layout/sidebars.js index 74a7929e8fbb5334c5c0f41e8790e265b09ba82c..29f9c4428a9a5788e68d9a2e6e69afc79292ae4f 100644 --- a/ivette/src/dome/src/renderer/layout/sidebars.js +++ b/ivette/src/dome/src/renderer/layout/sidebars.js @@ -17,7 +17,7 @@ const SideBarContext = React.createContext(); // -------------------------------------------------------------------------- /** - @summary Container for sidebar items + @summary Container for sidebar items. @property {Elements} [children] - Side bar items @property {string} [settings] - Side bar items settings @property {string} [selection] - Current item selection @@ -140,6 +140,7 @@ export function Section(props) { // -------------------------------------------------------------------------- /** + @summary Sidebar Section Items. @property {string} [id] - Item identifier @property {string} [label] - **Item label** @property {string} [icon] - Item icon @@ -151,7 +152,6 @@ export function Section(props) { @property {function} [onContextMenu] - Context Menu callback @property {Badge} [badge] - Badge element(s) @property {React.Children} [children] - Item additional content - @summary Sidebar Section Items @description The item will be highlighted if selected _via_ the `selection` property of the diff --git a/ivette/src/dome/src/renderer/layout/splitters.js b/ivette/src/dome/src/renderer/layout/splitters.js index 18007cfbbfcd7959ce319e884fb520b1af6977ac..fd3d17c956f7e50190bdc5fa8c6b819f811f46a7 100644 --- a/ivette/src/dome/src/renderer/layout/splitters.js +++ b/ivette/src/dome/src/renderer/layout/splitters.js @@ -89,7 +89,7 @@ const LR = { /** @class - @summary Draggable split pane + @summary Draggable split pane. @property {Direction} [dir] - Layout and dimensionning strategy @property {string} [settings] - User-settings key for persistent splitter position @property {number} [margin] - Minimal margin from container edges diff --git a/ivette/src/dome/src/renderer/layout/toolbars.js b/ivette/src/dome/src/renderer/layout/toolbars.js index 2979b0a4af681575cec38b8e17eae9e3895ad026..890f15daf962a2bea2130b1b65f26a8e990e225c 100644 --- a/ivette/src/dome/src/renderer/layout/toolbars.js +++ b/ivette/src/dome/src/renderer/layout/toolbars.js @@ -13,7 +13,7 @@ import './toolbars.css' ; /** @class - @summary Container for toolbar items + @summary Container for toolbar items. @description See also [Frame](module-dome_layout_frames.Frame.html) containers. */ @@ -41,22 +41,22 @@ export class ToolBar extends React.Component { // -------------------------------------------------------------------------- /** - @summary Fixed (tiny) space + @summary Fixed (tiny) space. */ export const Inset = (() => <div className='dome-xToolBar-inset'/>); /** - @summary Fixed space + @summary Fixed space. */ export const Space = (() => <div className='dome-xToolBar-space'/>); /** - @summary Extensible space (can be used to right-align controls) + @summary Extensible space (can be used to right-align controls). */ export const Filler = (() => <div className='dome-xToolBar-filler'/>); /** - @summary Vertical rule + @summary Vertical rule. */ export const Separator = () => ( <div className='dome-xToolBar-separator'> @@ -82,6 +82,7 @@ const isDisabled = ( { enabled=true, disabled=false } ) => (disabled || !enabled const onClick = ( { onClick , value } ) => onClick ? (() => onClick(value)) : undefined ; /** + @summary Toolbar Button. @property {string} [icon] - Button icon name (See [gallery](gallery-icons.html)) @property {string} [label] - Button label @property {string} [title] - Button tooltip @@ -92,7 +93,6 @@ const onClick = ( { onClick , value } ) => onClick ? (() => onClick(value)) : un @property {any} [value] - button's value @property {any} [selection] - Currently selected value @property {function} [onClick] - Button callback (receives the current value) - @summary toolbar button @description By default, the propery `selected` is computed from properties `value` @@ -125,11 +125,11 @@ export const Button = ( props ) => ( // -------------------------------------------------------------------------- /** + @summary Toolbar Button Group. @property {Button[]} children - Buttons in the group @property {any} [value] - Passed to children as `selection` property @property {any} [onChange] - Passed to children as `onClick` property @property {any} [...props] - Properties passed to all children - @summary toolbar button group */ export const ButtonGroup = (props) => { const { children, value, onChange, ...otherProps } = props; @@ -147,12 +147,12 @@ export const ButtonGroup = (props) => { // -------------------------------------------------------------------------- /** + @summary Toolbar Selector Menu. @property {any} [value] - selected option's value @property {function} [onChange] - selection callback (receives option value) @property {boolean} [disabled] - disable the selector (default: `false`) @property {boolean} [enabled] - enable the selector (default: `true`) @property {option[]} children - Array of menu options - @summary Toolbar selector menu @description Behaves likes a standard `<select>` element, except that callback directly diff --git a/ivette/src/frama-c/LabViews.tsx b/ivette/src/frama-c/LabViews.tsx index 0bce4e47c055213927e2d3684b8ecdb57d217000..ceee173cb8422ae016907641a9f70015f38004c2 100644 --- a/ivette/src/frama-c/LabViews.tsx +++ b/ivette/src/frama-c/LabViews.tsx @@ -608,7 +608,7 @@ function CustomizePanel( // -------------------------------------------------------------------------- /** - @summary Reconfigurable Container (React Component) + @summary Reconfigurable Container (React Component). @property {boolean} [customize] - show components panel (false by default) @property {string} [settings] - window settings to make views persistent @property {React.Children} children - the labview content diff --git a/ivette/tsconfig.json b/ivette/tsconfig.json index 507cb98e497a43c88e833e34382e430b944493af..681879ffba4a382c6bf2ad8fbc46b5de3705d4f8 100644 --- a/ivette/tsconfig.json +++ b/ivette/tsconfig.json @@ -74,6 +74,8 @@ ], "exclude": [ "node_modules", - "dist" + "dist", + "src/dome/doc", + "src/dome/template" ] }