1.3.3 • Published 5 years ago

codethings-react-ui v1.3.3

Weekly downloads
3
License
ISC
Repository
github
Last release
5 years ago

codethings-react-ui

This package includes re-usable UI elements for a React Typescript app including UI widgets, a starter CSS theme and a few custom hooks.

This is a work in progress built to bootstrap my other React stuff, and should probably definitely not be used as a dependency in a real project.

Install

npm install codethings-react-ui --save     
yarn add codethings-react-ui 

Link the CSS widget and theme styles to the project with

import 'codethings-react-ui/dist/styles.css';

Widgets

Widget List

Custom Hooks

useTriggerOverride

Hijack event trigger and fire a callback if a certain condition is met.

const [activeFileUrl, setActiveFileUrl] = useState(null);
const containerElementRef = useRef(null);

useTriggerOverride({ 
  eventType: 'mousedown', 
  ref: containerElementRef, 
  condition: ({ eventData }) => {
    const validFileExtensions = ["pdf", "jpg", "jpeg", "gif", "png"]; 
    const urlParts = eventData.triggeredHref?.split('.');
    const possibleFileExtension = urlParts[urlParts.length-1];
    return urlParts?.length > 1 && validFileExtensions.includes(possibleFileExtension);
  },
  conditionalCallback: (eventData) => {
    setActiveFileUrl(eventData.triggeredHref);
  }
});

so far eventData includes only the triggeredHref prop

useCallbackOnExternalEventTrigger

Check if trigger event happens outside of an element's boundaries.

const [popupActiveState, setPopupActiveState] = useState(false);
const popupRef = useRef(null);

useCallbackOnExternalEventTrigger(popupRef, () => {
  setPopupActiveState(false);
});

Theme Defaults

This package includes theme defaults and some boilerplate styles.

How It Works

Blog posts that helped me get this thing to work.

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.19

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.2

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago