Giter Club home page Giter Club logo

fondue's People

Contributors

anxobotana avatar bojangles-m avatar celienb avatar celine-s avatar deniaz avatar dependabot[bot] avatar dominiquemb avatar dwirz avatar fabriciomendonca avatar fulopdaniel avatar github-actions[bot] avatar imoutaharik avatar joseazevedo88 avatar julianiff avatar kenny806 avatar mike-schmid avatar mikeyrayvon avatar msiric avatar nadiaposch avatar noahwaldner avatar ragi96 avatar rawi96 avatar renovate[bot] avatar ryancarville avatar samcreasey avatar samuelalev avatar selimovicz avatar thisguyscode avatar triggertoo avatar walkeezy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fondue's Issues

TextInput: Disable Spellcheck?

Spellcheck is a common annoyance with search and filter components where it is expected to only type incomplete queries to filter data as a user types. The behaviour may vary in browsers, here’s I’m reporting it specifically for Safari.

Disabling spellcheck might require spellcheck="false" or React’s version of it spellCheck={false}. It would be great to either get direct access to the component (merging attributes) or extend the API by adding another prop such as "spellcheck".

image

Reproduction:
https://codesandbox.io/s/silly-bash-0elz8

Flyout: Transparent Trigger?

When passing a <Button> as trigger prop to a Flyout the trigger gets wrapped in a pseudo button element with -webkit-appearance: button. This means, that if the render prop has a border radius, e.g. as seen in the standard <Button>, that there will be a visual glitch where the wrapping div shows a visible background color at the corners:

image

Badge: Hover State Color Contrast

I think the following variant needs some design tweaks to its hover state. I’d suggest to use a darker gray, but not invert the colors.

Style:
Primary

Emphasis:
None

Kapture 2022-05-04 at 16 39 46

Button: Title, tooltip, aria-label?

Goal:
I want to decorate a <Button> component (with icon prop) with a tooltip. A native title would be fine, a <Tooltip> even better. Are there any examples for that?

Something like that:

image

Problem:
I’d like to add a title attribute to a <Button>, but there’s no prop and other attributes aren’t merged. There’s aria-label, but this won’t show a little native tooltip when hovering over the button. A tooltip prop would be handy, but composition would work too. :)

Popper: tw-fit

I have a use case for Popper where I need to size the Reference element to take up the available space (width: 100%).

Unfortunately, that element is wrapped in a div with tw-fit which takes over control and changes the intended layout, also restricting any change.

I wonder if that class is necessary and if yes, if there might be a prop like in other components (fit, hug, etc.) to provide control over that.

https://github.com/Frontify/fondue/blob/c4925163b561eb4746c6b57cad5cff4204d43685/src/components/Popper/Popper.tsx#LL77C19-L77C20

ActionMenu z-index

It seems like the z-index of the Action Menu should be bumped up to avoid collision with other elements. Attached two screenshots of a component we are currently building.

Both the AssetInput actions as well as the LinkChooser actions have a z-index of 20. This needs to be higher in my opinion.

Screenshot 2023-01-10 at 11 33 54
Screenshot 2023-01-10 at 11 33 59

Text: Overflow Control?

I’m missing the ability to control text overflow with Text components. For example, I might want to use “ellipsis” or control the “white-space”, “word-wrap”, etc. depending on the content and context.

While the Text component’s API could expose all these CSS properties as props, it could also just merge style or className props to allow for fine control via Tailwind, inline styles, or custom CSS.

image

Reproduction @2.0.0
https://codesandbox.io/s/text-overflow-frontify-arcade-2-0-0-bj2p9

Flyout: How to use?

I’m trying to use the Flyout component, but I’m a bit lost looking at the docs on Storybook.

This is example code:

<ut
  decorator={<Tl />}
  onClose={function noRefCheck(){}}
  onOpenChange={function noRefCheck(){}}
  title="Header title"
  trigger={<Q onClick={function noRefCheck(){}}>Button</Q>}
>
  <p className="tw-text-center tw-py-8">
    Fun with Flyouts and Buttons!
  </p>
</ut>

As far as I understand, I can pass in a component via the trigger prop.

When I do that, that component is wrapped in a <div type="button"> but when I click it, nothing happens.

I see that there’s a onClick prop, but it’s not clear what the callback looks like because Storybook seems to mess up the example code :(

The issue with the example code applies to all examples, but so far I’ve been able to figure it out, except for this one :D

I’d appreciate any help! Thanks!

TextInput: onEnterPressed & onChange behave differently

I’m trying to use a TextInput and only want to get the value when the user presses "enter".

I would expect to listen to the onChange event. Unexpectedly, onChange fires on every key press. I figured out that React goes against web standards here. 🤦‍♂️

I then looked into the source code for the TextInput and noticed that there’s a onEnterPressed callback prop that I can use. It works, but the return value is inconsistent with the onChange callback prop.

onChange: returns value
onEnterPressed: returns SyntheticBaseEvent

It would be nice if both callback props would behave similar. :)

Usage right now:

onChange={(value) => {
  // → value
}}
onEnterPressed={(event) => {
 // → event.target.value
}}

Breadcrumbs: Rendered fewer hooks than expected. This may be caused by an accidental early return statement.

When the items prop of the Breadcrumb component changes its value, React crashes with the following error:

Rendered fewer hooks than expected. This may be caused by an accidental early return statement.

This is most likely because useRef is used inside the rendering which will result in different amount/order of hooks.

Reproduction

The reproduction shows:

  • Breadcrumbs with initial state
  • useEffect changes the state → error

https://codesandbox.io/s/breadcrumbs-tabindex-frontify-arcade-2-3-0-forked-c0vklv?file=/src/App.js

Slider: z-index

The text items of the Slider component are rendered with z-index: 10.

When implementing the slider in combination with a dialog, the slider text would appear above the dialog.

I tried to fix it with z-index: 1, z-index: 2, … but then had to check what value I had to fight against to find out how to make it work.

I bet there’s a reason for the z-index, but I can imagine that a smaller more sensible value would work, too :)

[email protected]: Close button doesn't work, click outside doesn’t work.

In 1.0.0, when clicking outside of the Flyout would close it. Clicking the "Close" button would also correctly close the Flyout. In 1.1.0, this behavior has changed and the Flyout does not close anymore. This is also happening on Storybook. Is this a regression or intended API change, so that the close behavior needs to be configured / opt-in?

Reproduction

✅ 1.0.0
https://codesandbox.io/s/flyout-frontify-arcade-1-0-0-r7t23

❌ @1.1.0
https://codesandbox.io/s/flyout-frontify-arcade-1-1-0-b6on6

Checkbox stories have accessibility violations

Hey! Saw you were using react-aria/stately. Awesome and thank you so much. I hope you don't mind, but I was perusing the components you've built and noticed that the Checkbox has a few accessibility violations in the storybook.
https://fondue-components.frontify.com/?path=/story/components-checkbox--checkbox

As well as a few that AXE didn't pick up on
No buttons inside a label - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#interactive_content
No nesting of labels - https://www.w3.org/TR/2013/CR-html5-20130806/forms.html#the-label-element (see "Phrasing content, but with no descendant labelable elements unless it is the element's labeled control, and no descendant label elements.)

Export "@frontify/arcade/foundation"?

Hi! I’m using Arcade for the first time and was wondering how to import components from the Foundation, e.g .Heading and Text. I noticed that all other components are exported in package.json but not the Typography Foundation. What’s the recommended approach to use those? Would it make sense to export those, too?

https://github.com/Frontify/arcade/blob/main/package.json

How package.json looks like:

"./components/*": {
    "types": "./dist/src/components/*/index.d.ts",
    "import": "./dist/src/components/*/index.js"
}
...

What I need:

"./components/*": {
    "types": "./dist/src/components/*/index.d.ts",
    "import": "./dist/src/components/*/index.js"
},
"./foundation/*": {
    "types": "./dist/src/foundation/*/index.d.ts",
    "import": "./dist/src/foundation/*/index.js"
},

→ Usage:

import { Heading } from '@frontify/arcade/foundation/typography/Heading';

Breadcrumbs: Overflow control?

This is a feature request, that you might already have planned. But I’ll report it anyway: it would be nice to control the overflow of the breadcrumbs. Currently it wraps on a multiple lines which is often a good solution. But in the future these would be useful and make it a more flexible component for many use cases:

  • truncate the middle, so that both the start and end of a path are visible
  • truncate the end by showing overflowing items in a dropdown

image

Flyout + Button trigger: Unnecessary spacing?

When using a Flyout component with a <Button> trigger, the button appears to be wrapped in another div with additional spacing. That can result in extra spacing that might might not be desired.

image

In the example, a TextInput is displayed together with a Flyout inside a row. The row has uniform padding on all sides. But because the trigger is wrapped in an element, the padding on the right side is too large. This can be solved by regulating the padding-right of the container, but ideally, the <Button> wouldn’t be wrapped in yet another element :)

Reproduction (2.0.0)
https://codesandbox.io/s/flyout-frontify-arcade-2-0-0-753yb

Dependency Dashboard

This issue provides visibility into Renovate updates and their statuses. Learn more

Rate Limited

These updates are currently rate limited. Click on a checkbox below to force their creation now.

  • chore(deps): update dependency vite to v2.6.3
  • chore(deps): update actions/setup-node action to v2

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • chore(deps): pin dependencies (@cypress/react, @cypress/vite-dev-server, @frontify/eslint-config-react, @rollup/plugin-alias, @rollup/plugin-node-resolve, @storybook/addon-actions, @storybook/addon-essentials, @storybook/addon-links, @storybook/addon-postcss, @storybook/react, @svgr/core, @svgr/plugin-jsx, @svgr/plugin-prettier, @svgr/plugin-svgo, @types/react, @types/react-dom, @vitejs/plugin-react-refresh, autoprefixer, chalk, cross-env, cypress, cypress-real-events, esbuild, eslint, eslint-plugin-jsx-a11y, esno, fast-glob, husky, is-ci, postcss, postcss-cli, postcss-nested, prettier, rimraf, rollup, rollup-plugin-dts, rollup-plugin-esbuild, storybook-builder-vite, storybook-dark-mode, tailwindcss, typescript, vite)
  • chore(deps): update storybook monorepo to v6.3.10 (@storybook/addon-actions, @storybook/addon-essentials, @storybook/addon-links, @storybook/react)

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.