Skip to content

Commit

Permalink
Omit unused properties from docs
Browse files Browse the repository at this point in the history
  • Loading branch information
tujoworker committed Nov 13, 2023
1 parent 12b24c7 commit 09e15b2
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { OmitTableProperties } from 'dnb-design-system-portal/src/shared/tags/Table'

### Standard data value component props

<OmitTableProperties>

| Property | Type | Description |
| ---------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `className` | `string` | _(optional)_ Outer DOM element class name. |
Expand Down Expand Up @@ -27,3 +31,10 @@
| `onBlurValidator` | `function` | _(optional)_ Custom validator function that will be called when the user leaves the field (blurring a text input, closing a dropdown etc). Can be asynchronous or synchronous. |
| `toInput` | `function` | _(optional)_ Derivate called when the received / active value is sent to the input. Can be used for casting, changing syntax etc. |
| `fromInput` | `function` | _(optional)_ Derivate called when changes is made by the user, to cast or change syntax back to the original (opposite of `toInput`). |

</OmitTableProperties>

export default function Layout({ omit = null, children }) {
globalThis.omitTableProperties = omit
return <>{children}</>
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,16 @@ import DataValueReadwriteProperties from '../../data-value-readwrite-properties.

## Properties

<DataValueReadwriteProperties type="string" />
<DataValueReadwriteProperties
type="string"
omit={[
'layout',
'label',
'labelDescription',
'labelSecondary',
'emptyValue',
]}
/>

### Component-specific props

Expand Down
22 changes: 22 additions & 0 deletions packages/dnb-design-system-portal/src/shared/tags/Table.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,28 @@ const StyledTable = styled(TableElement)`
}
`

export function OmitTableProperties({ children, ...rest }) {
const omitProperties = globalThis.omitTableProperties || []

return recursiveMap(children, (child: React.ReactElement) => {
if (child.type === 'tr') {
const tr = getChildren(child).at(0)

if (tr.type === 'td') {
const td = getChildren(tr)
const value = getChildren(td.at(0))
const name = String(value.at(0))

if (omitProperties.includes(name)) {
return null
}
}
}

return child
})
}

export default function Table({ children }) {
// make sure we get the table children
children =
Expand Down

0 comments on commit 09e15b2

Please sign in to comment.