2.1.91 • Published 3 years ago

@2dine/framework-ui v2.1.91

Weekly downloads
2,273
License
-
Repository
github
Last release
3 years ago

This is a Tailwind CSS wrapper for react.

Getting Started

First, run the development server:

npm install @2dine/framework-ui
# or
yarn add @2dine/framework-ui

Usage Sidebar

Here is a quick example to get you started, it's all you need:

import { Sidebar } from "../src/components";
import "../styles/globals.css";

function App({ Component, pageProps }) {
  const primaryLinks = [
    {
      href: `/`,
      label: "Inicio",
      // exact: true,
      // icon: (
      //   <Home className="mr-4 h-6 w-6 text-primary-200 group-hover:text-primary-200 group-focus:text-primary-200 transition ease-in-out duration-150" />
      // ),
    },
    {
      href: `/contracts`,
      label: "Contratos",
      // exact: true,
      // icon: (
      //   <Scale className="mr-4 text-primary-200 transition ease-in-out duration-150" />
      // ),
    },
    {
      href: `/consumptions`,
      label: "Lecturas",
      // exact: true,
      // icon: (
      //   <Calculator className="mr-4 text-primary-200 transition ease-in-out duration-150" />
      // ),
    },
    {
      href: `/payments`,
      label: "Ingresos",
      // exact: true,
      // icon: (
      //   <Cash className="mr-4 text-primary-200 transition ease-in-out duration-150" />
      // ),
    },
  ];

  const secondaryLinks = [
    {
      href: `/settings`,
      label: "Configuración",
      // icon: (
      //   <Cog className="mr-4 text-primary-200 transition ease-in-out duration-150" />
      // ),
    },
    { href: `/help`, label: "Ayuda" },
    {
      href: `/about`,
      label: "Acerca de",
      // icon: (
      //   <ShieldCheck className="mr-4 text-primary-200 transition ease-in-out duration-150" />
      // ),
    },
  ];

  return (
    <div className="relative h-screen flex overflow-hidden bg-gray-100">
      <Sidebar
        logo={{
          src:
            "https://tailwindui.com/img/logos/workflow-logo-indigo-500-mark-white-text.svg",
          alt: "Workflow",
        }}
        withHeader
        primaryLinks={primaryLinks}
        secondaryLinks={secondaryLinks}
        footer={
          <div className="flex-shrink-0 flex border-t border-primary-800 p-4">
            <a href="#" className="flex-shrink-0 group block">
              <div className="flex items-center">
                <div>
                  <img
                    className="inline-block h-9 w-9 rounded-full"
                    src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
                    alt=""
                  />
                </div>
                <div className="ml-3">
                  <p className="text-base md:text-sm font-medium text-white">
                    Tom Cook
                  </p>
                  <p className="text-sm md:text-xs font-medium text-primary-200 group-hover:text-white">
                    View profile
                  </p>
                </div>
              </div>
            </a>
          </div>
        }
      />
      <div className="flex-1 overflow-auto focus:outline-none" tabIndex="0">
        <main className="flex-1 relative pb-8 z-0 overflow-y-auto">
          <Component {...pageProps} />
        </main>
      </div>
    </div>
  );
}

ReactDOM.render(<App />, document.querySelector("#app"));

Yes, it's really all you need to get started.

Usage DynamoFilter

Here is a quick example to get you started, it's all you need:

import { DynamoFilter } from "../src/components";

  const onResolveOptions = () => {
    return new Promise((resolve) => {
      setTimeout(
        () =>
          resolve([
            { label: "Opción 1", value: "key_1" },
            { label: "Opción 2", value: "key_2" },
          ]),
        3000
      );
    });
  };

  return (
    <div className="relative h-screen flex overflow-hidden bg-gray-100">
      <DynamoFilter
        fields={{
          serie: {
            label: "Serie",
            inputType: "input",
            operand: "eq",
          },
          derivativeSerie: {
            label: "Derivada",
            placeholder: "Ingresa el número de serie",
            inputType: "input",
            operand: "eq",
          },
          rutaID: {
              label: "Ruta",
              inputType: "select",
              operand: "eq",
              placeholder: "Selecciona una opción",
              onResolveOptions, /* Regresa un arreglo de options */
          },
          consumo: {
            label: "Consumo",
            inputType: "range",
            type: "volume",
            max: 10000,
            step: 100,
            dependsOn: {
              availableRange: {
                inputType: "switch",
                label: "Habilitar rango",
                description: "",
                parseValue: (value) => value && "between",
              },
            },
          },
          createdAt: {
            label: "Fecha",
            inputType: "date",
            dependsOn: {
              dateType: {
                inputType: "select",
                options: [
                  { label: "Antes de", value: "lt" },
                  { label: "Despues de", value: "gt" },
                  { label: "Entre", value: "between" },
                ],
                label: "Rango de fecha",
                placeholder: "Todos",
              },
            },
          },
        }}
        initialValues={{
          serie: "",
          derivativeSerie: "",
          status: "",
          consumo: [0, 1000000],
          availableRange: false,
          createdAt: new Date().toISOString(),
        }}
        onCancel={() => }
        onSubmit={(values) => console.log("values", values)}
      />
      <div className="flex-1 overflow-auto focus:outline-none" tabIndex="0">
        <main className="flex-1 relative pb-8 z-0 overflow-y-auto">
          <Component {...pageProps} />
        </main>
      </div>
    </div>
  );
}

ReactDOM.render(<App />, document.querySelector("#app"));

Yes, it's really all you need to get started.

2.1.90

3 years ago

2.1.91

3 years ago

2.1.89

4 years ago

2.1.87

4 years ago

2.1.88

4 years ago

2.1.85

4 years ago

2.1.86

4 years ago

2.1.83

4 years ago

2.1.84

4 years ago

2.1.82

4 years ago

2.1.81

4 years ago

2.1.80

4 years ago

2.1.78

4 years ago

2.1.79

4 years ago

2.1.76

4 years ago

2.1.77

4 years ago

2.1.69

4 years ago

2.1.67

4 years ago

2.1.68

4 years ago

2.1.74

4 years ago

2.1.75

4 years ago

2.1.72

4 years ago

2.1.73

4 years ago

2.1.70

4 years ago

2.1.71

4 years ago

2.1.66

4 years ago

2.1.65

4 years ago

2.1.64

4 years ago

2.1.63

4 years ago

2.1.58

4 years ago

2.1.59

4 years ago

2.1.57

4 years ago

2.1.61

4 years ago

2.1.62

4 years ago

2.1.60

4 years ago

2.1.56

4 years ago

2.1.55

4 years ago

2.1.54

4 years ago

2.1.52

4 years ago

2.1.53

4 years ago

2.1.49

4 years ago

2.1.48

4 years ago

2.1.50

4 years ago

2.1.51

4 years ago

2.1.47

4 years ago

2.1.45

4 years ago

2.1.46

4 years ago

2.1.44

4 years ago

2.1.43

4 years ago

2.1.42

4 years ago

2.1.38

4 years ago

2.1.39

4 years ago

2.1.36

4 years ago

2.1.37

4 years ago

2.1.34

4 years ago

2.1.35

4 years ago

2.1.41

4 years ago

2.1.40

4 years ago

2.1.32

4 years ago

2.1.33

4 years ago

2.1.31

4 years ago

2.1.30

4 years ago

2.1.29

4 years ago

2.1.28

4 years ago

2.1.27

4 years ago

2.1.25

4 years ago

2.1.26

4 years ago

2.1.24

4 years ago

2.1.23

4 years ago

2.1.22

4 years ago

2.1.21

4 years ago

2.1.19

4 years ago

2.1.20

4 years ago

2.1.18

4 years ago

2.1.16

4 years ago

2.1.17

4 years ago

2.1.15

4 years ago

2.1.14

4 years ago

2.1.13

4 years ago

2.1.12

4 years ago

2.1.9

4 years ago

2.1.10

4 years ago

2.1.11

4 years ago

2.1.8

4 years ago

2.1.7

4 years ago

2.0.137

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.4

4 years ago

2.1.3

4 years ago

2.1.6

4 years ago

2.1.5

4 years ago

2.1.0

4 years ago

2.0.136

4 years ago

2.0.135

4 years ago

2.0.134

4 years ago

2.0.133

4 years ago

2.0.132

4 years ago

2.0.131

4 years ago

2.0.130

4 years ago

2.0.129

4 years ago

2.0.128

4 years ago

2.0.127

4 years ago

2.0.126

4 years ago

2.0.119

4 years ago

2.0.118

4 years ago

2.0.117

4 years ago

2.0.116

4 years ago

2.0.115

4 years ago

2.0.114

4 years ago

2.0.113

4 years ago

2.0.112

4 years ago

2.0.125

4 years ago

2.0.124

4 years ago

2.0.123

4 years ago

2.0.122

4 years ago

2.0.121

4 years ago

2.0.120

4 years ago

2.0.111

4 years ago

2.0.110

4 years ago

2.0.109

4 years ago

2.0.108

4 years ago

2.0.107

4 years ago

2.0.106

4 years ago

2.0.105

4 years ago

2.0.104

4 years ago

2.0.103

4 years ago

2.0.102

4 years ago

2.0.101

4 years ago

2.0.100

4 years ago

2.0.99

4 years ago

2.0.98

4 years ago

2.0.97

4 years ago

2.0.96

4 years ago

2.0.95

4 years ago

2.0.93

4 years ago

2.0.94

4 years ago

2.0.92

4 years ago

2.0.91

4 years ago

2.0.90

4 years ago

2.0.89

4 years ago

2.0.88

4 years ago

2.0.86

4 years ago

2.0.87

4 years ago

2.0.84

4 years ago

2.0.85

4 years ago

2.0.82

4 years ago

2.0.83

4 years ago

2.0.81

4 years ago

2.0.80

4 years ago

2.0.79

4 years ago

2.0.78

4 years ago

2.0.77

4 years ago

2.0.76

4 years ago

2.0.75

4 years ago

2.0.74

4 years ago

2.0.73

4 years ago

2.0.72

4 years ago

2.0.69

4 years ago

2.0.71

4 years ago

2.0.70

4 years ago

2.0.68

4 years ago

2.0.67

4 years ago

2.0.66

4 years ago

2.0.65

4 years ago

2.0.64

4 years ago

2.0.59

4 years ago

2.0.57

4 years ago

2.0.58

4 years ago

2.0.62

4 years ago

2.0.63

4 years ago

2.0.60

4 years ago

2.0.61

4 years ago

2.0.56

4 years ago

2.0.55

4 years ago

2.0.54

4 years ago

2.0.53

4 years ago

2.0.52

4 years ago

2.0.51

4 years ago

2.0.49

4 years ago

2.0.50

4 years ago

2.0.48

4 years ago

2.0.46

4 years ago

2.0.47

4 years ago

2.0.44

4 years ago

2.0.45

4 years ago

2.0.42

4 years ago

2.0.43

4 years ago

2.0.41

4 years ago

2.0.40

4 years ago

2.0.39

4 years ago

2.0.38

4 years ago

2.0.37

4 years ago

2.0.36

4 years ago

2.0.35

4 years ago

2.0.33

4 years ago

2.0.34

4 years ago

2.0.32

4 years ago

2.0.31

4 years ago

2.0.30

4 years ago

2.0.28

4 years ago

2.0.26

4 years ago

2.0.27

4 years ago

2.0.24

4 years ago

2.0.25

4 years ago

2.0.23

4 years ago

2.0.19

4 years ago

2.0.22

4 years ago

2.0.20

4 years ago

2.0.21

4 years ago

2.0.18

4 years ago

2.0.17

4 years ago

2.0.16

4 years ago

2.0.15

4 years ago

2.0.14

4 years ago

2.0.13

4 years ago

2.0.12

4 years ago

2.0.11

4 years ago

2.0.10

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.1

4 years ago

1.1.1

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.11

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.10

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago