@softwarefactory-project/re-patternfly

3.0.3 • Public • Published

re-patternfly

ReasonML/ReScript binding for patternfly.

Features

Components (generated from the typescript interfaces):

  • AboutModal
  • Accordion
  • Alert
  • AlertGroup
  • ApplicationLauncher
  • Avatar
  • Backdrop
  • BackgroundImage
  • Badge
  • Banner
  • Brand
  • Breadcrumb
  • Button
  • Card
  • Checkbox
  • ClipboardCopy
  • DateList
  • DatePicker
  • DescriptionList
  • Divider
  • Drawer
  • Drawer
  • Dropdown
  • EmptyState
  • Form
  • Hint
  • Label
  • LabelGroup
  • List
  • LoginPage
  • Menu
  • Modal
  • Nav
  • Page
  • Pagination
  • Radio
  • Select
  • Spinner
  • Tabs
  • Text
  • TextArea
  • TextInput
  • Tile
  • Title
  • Toolbar
  • Tooltip

Layouts:

  • Bullseye
  • Flex
  • Gallery
  • Grid
  • Level
  • Split
  • Stack

Table component supports this data definition:

let make = () => {
  let columns = [|
    {title: "job", transforms: [|sortable|]},
    {title: "result", transforms: [|sortable|]},
  |];
  let (rows, setRows) =
    React.useState(_ =>
      [|
        {cells: [|"rpmbuild", "success"|]},
        {cells: [|"rpmtest", "failure"|]},
      |]
    );
  let onSort = _ => setRows(_ => Belt.Array.reverse(rows));

  <Table caption="Sortable Table" rows cells=columns onSort>
    <TableHeader />
    <TableBody />
  </Table>;
};

Install

Add to your package.json:

pnpm add @softwarefactory-project/re-patternfly

Add to your bsconfig.json:

"bs-dependencies": [
+  "@softwarefactory-project/re-patternfly"
]

Example

@react.component
let make = () => {
  <Patternfly.List>
    <Patternfly.ListItem>
      {"Hello patternfly!" |> React.string}
    </Patternfly.ListItem>
  </Patternfly.List>
};

See the demo directory for a starter project.

Contribute

Contributions are most welcome, for example the project needs help to:

  • bind more component.
  • better documentation and demo project.

Get started by running:

git clone https://github.com/softwarefactory-project/re-patternfly
cd re-patternfly
pnpm install
pnpm start

Then build and run tests with pnpm test.

Make sure to read about React and ReScript too.

Changes

3.0.3

  • Add missing timeout property for Alert

3.0.2

  • Add Pagination components

3.0.1

  • Add variant property to Table component

3.0.0

  • Update Table pfRow property to support custom formatter

2.2.0

  • Add onSort and sortBy Table properties

2.1.1

  • Add Flex layout
  • Add Modal component

2.1.0

  • Update @patternfly/react-core version to 4.115.2
  • Add onTypeaheadinputchanged callback

2.0.3

  • Add missing Select callback for typeahead multi selection

2.0.2

  • Add DataList
  • Add Select
  • Add missing onSelect callback

2.0.1

  • Add DatePicker
  • Add Tooltip
  • Add TextInput placeholder
  • Add Toolbar and InputGroup

2.0.0

  • Replace reason-react with rescript/react
  • Replace yarn package manager with pnpm

1.0.0

  • Initial release

Package Sidebar

Install

npm i @softwarefactory-project/re-patternfly

Weekly Downloads

1

Version

3.0.3

License

Apache-2.0

Unpacked Size

188 kB

Total Files

8

Last publish

Collaborators

  • tristanc