2.1.91 • Published 2 years ago

@2dine/framework-ui v2.1.91

Weekly downloads
2,273
License
-
Repository
github
Last release
2 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

2 years ago

2.1.91

2 years ago

2.1.89

3 years ago

2.1.87

3 years ago

2.1.88

3 years ago

2.1.85

3 years ago

2.1.86

3 years ago

2.1.83

3 years ago

2.1.84

3 years ago

2.1.82

3 years ago

2.1.81

3 years ago

2.1.80

3 years ago

2.1.78

3 years ago

2.1.79

3 years ago

2.1.76

3 years ago

2.1.77

3 years ago

2.1.69

3 years ago

2.1.67

3 years ago

2.1.68

3 years ago

2.1.74

3 years ago

2.1.75

3 years ago

2.1.72

3 years ago

2.1.73

3 years ago

2.1.70

3 years ago

2.1.71

3 years ago

2.1.66

3 years ago

2.1.65

3 years ago

2.1.64

3 years ago

2.1.63

3 years ago

2.1.58

3 years ago

2.1.59

3 years ago

2.1.57

3 years ago

2.1.61

3 years ago

2.1.62

3 years ago

2.1.60

3 years ago

2.1.56

3 years ago

2.1.55

3 years ago

2.1.54

3 years ago

2.1.52

3 years ago

2.1.53

3 years ago

2.1.49

3 years ago

2.1.48

3 years ago

2.1.50

3 years ago

2.1.51

3 years ago

2.1.47

3 years ago

2.1.45

3 years ago

2.1.46

3 years ago

2.1.44

3 years ago

2.1.43

3 years ago

2.1.42

3 years ago

2.1.38

3 years ago

2.1.39

3 years ago

2.1.36

3 years ago

2.1.37

3 years ago

2.1.34

3 years ago

2.1.35

3 years ago

2.1.41

3 years ago

2.1.40

3 years ago

2.1.32

3 years ago

2.1.33

3 years ago

2.1.31

3 years ago

2.1.30

3 years ago

2.1.29

3 years ago

2.1.28

3 years ago

2.1.27

3 years ago

2.1.25

3 years ago

2.1.26

3 years ago

2.1.24

3 years ago

2.1.23

3 years ago

2.1.22

3 years ago

2.1.21

3 years ago

2.1.19

3 years ago

2.1.20

3 years ago

2.1.18

3 years ago

2.1.16

3 years ago

2.1.17

3 years ago

2.1.15

3 years ago

2.1.14

3 years ago

2.1.13

3 years ago

2.1.12

3 years ago

2.1.9

3 years ago

2.1.10

3 years ago

2.1.11

3 years ago

2.1.8

3 years ago

2.1.7

3 years ago

2.0.137

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.4

3 years ago

2.1.3

3 years ago

2.1.6

3 years ago

2.1.5

3 years ago

2.1.0

3 years ago

2.0.136

3 years ago

2.0.135

3 years ago

2.0.134

3 years ago

2.0.133

3 years ago

2.0.132

3 years ago

2.0.131

3 years ago

2.0.130

3 years ago

2.0.129

3 years ago

2.0.128

3 years ago

2.0.127

3 years ago

2.0.126

3 years ago

2.0.119

3 years ago

2.0.118

3 years ago

2.0.117

3 years ago

2.0.116

3 years ago

2.0.115

3 years ago

2.0.114

3 years ago

2.0.113

3 years ago

2.0.112

3 years ago

2.0.125

3 years ago

2.0.124

3 years ago

2.0.123

3 years ago

2.0.122

3 years ago

2.0.121

3 years ago

2.0.120

3 years ago

2.0.111

3 years ago

2.0.110

3 years ago

2.0.109

3 years ago

2.0.108

3 years ago

2.0.107

3 years ago

2.0.106

3 years ago

2.0.105

3 years ago

2.0.104

3 years ago

2.0.103

3 years ago

2.0.102

3 years ago

2.0.101

3 years ago

2.0.100

3 years ago

2.0.99

3 years ago

2.0.98

3 years ago

2.0.97

3 years ago

2.0.96

3 years ago

2.0.95

3 years ago

2.0.93

3 years ago

2.0.94

3 years ago

2.0.92

3 years ago

2.0.91

3 years ago

2.0.90

3 years ago

2.0.89

3 years ago

2.0.88

3 years ago

2.0.86

3 years ago

2.0.87

3 years ago

2.0.84

3 years ago

2.0.85

3 years ago

2.0.82

3 years ago

2.0.83

3 years ago

2.0.81

3 years ago

2.0.80

3 years ago

2.0.79

3 years ago

2.0.78

3 years ago

2.0.77

3 years ago

2.0.76

3 years ago

2.0.75

3 years ago

2.0.74

3 years ago

2.0.73

3 years ago

2.0.72

3 years ago

2.0.69

3 years ago

2.0.71

3 years ago

2.0.70

3 years ago

2.0.68

3 years ago

2.0.67

3 years ago

2.0.66

3 years ago

2.0.65

3 years ago

2.0.64

3 years ago

2.0.59

3 years ago

2.0.57

3 years ago

2.0.58

3 years ago

2.0.62

3 years ago

2.0.63

3 years ago

2.0.60

3 years ago

2.0.61

3 years ago

2.0.56

3 years ago

2.0.55

3 years ago

2.0.54

3 years ago

2.0.53

3 years ago

2.0.52

3 years ago

2.0.51

3 years ago

2.0.49

3 years ago

2.0.50

3 years ago

2.0.48

3 years ago

2.0.46

3 years ago

2.0.47

3 years ago

2.0.44

3 years ago

2.0.45

3 years ago

2.0.42

3 years ago

2.0.43

3 years ago

2.0.41

3 years ago

2.0.40

3 years ago

2.0.39

3 years ago

2.0.38

3 years ago

2.0.37

3 years ago

2.0.36

3 years ago

2.0.35

3 years ago

2.0.33

3 years ago

2.0.34

3 years ago

2.0.32

3 years ago

2.0.31

3 years ago

2.0.30

3 years ago

2.0.28

3 years ago

2.0.26

3 years ago

2.0.27

3 years ago

2.0.24

3 years ago

2.0.25

3 years ago

2.0.23

3 years ago

2.0.19

3 years ago

2.0.22

3 years ago

2.0.20

3 years ago

2.0.21

3 years ago

2.0.18

3 years ago

2.0.17

3 years ago

2.0.16

3 years ago

2.0.15

3 years ago

2.0.14

3 years ago

2.0.13

3 years ago

2.0.12

3 years ago

2.0.11

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.1

3 years ago

1.1.1

3 years ago

2.0.0

3 years ago

1.1.0

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.11

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.10

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago