@elmethis/qwik 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/style.css CHANGED
@@ -434,6 +434,348 @@
434
434
  }
435
435
  [data-theme=dark] ._rectangle-wave_hej9g_17 {
436
436
  border-color: rgba(255, 255, 255, 0.7);
437
+ }._button_1ykfy_1 {
438
+ all: unset;
439
+ position: relative;
440
+ overflow: hidden;
441
+ min-height: 2.75rem;
442
+ justify-content: center;
443
+ align-items: center;
444
+ gap: 0.5rem;
445
+ border-radius: 0.25rem;
446
+ box-sizing: border-box;
447
+ padding: 0.5rem 1.5rem;
448
+ line-height: 1.5rem;
449
+ border: solid 1px rgba(205, 181, 123, 0.6);
450
+ user-select: none;
451
+ cursor: pointer;
452
+ transition: opacity 200ms, transform 200ms;
453
+ opacity: var(--opacity);
454
+ box-shadow: 0 0 0.125rem rgba(128, 128, 128, 0.25);
455
+ }
456
+
457
+ ._button-ornament_1ykfy_21 {
458
+ position: absolute;
459
+ content: "";
460
+ bottom: -1px;
461
+ right: -1px;
462
+ height: 1rem;
463
+ width: 1rem;
464
+ background-color: rgba(219, 202, 160, 0.6);
465
+ clip-path: polygon(100% 0%, 1000% 100%, 0% 100%);
466
+ }
467
+
468
+ ._normal_1ykfy_32 {
469
+ color: rgba(0, 0, 0, 0.6);
470
+ background-color: rgba(255, 255, 255, 0.8);
471
+ }
472
+ [data-theme=dark] ._normal_1ykfy_32 {
473
+ color: rgba(255, 255, 255, 0.6);
474
+ background-color: #3e434b;
475
+ }
476
+
477
+ ._primary_1ykfy_41 {
478
+ color: rgba(255, 255, 255, 0.6);
479
+ background-color: #3e434b;
480
+ }
481
+ [data-theme=dark] ._primary_1ykfy_41 {
482
+ color: rgba(0, 0, 0, 0.6);
483
+ background-color: rgba(255, 255, 255, 0.8);
484
+ }
485
+
486
+ ._colored_1ykfy_50 {
487
+ background-color: var(--color);
488
+ }
489
+
490
+ ._enable_1ykfy_54 {
491
+ transition: opacity 200ms, transform 100ms, box-shadow 200ms;
492
+ }
493
+ [data-theme=dark] ._enable_1ykfy_54:hover {
494
+ transform: translateX(-1px) translateY(-1px);
495
+ opacity: var(--opacity, 0.7);
496
+ }
497
+ [data-theme=dark] ._enable_1ykfy_54:active {
498
+ transform: translateX(1px) translateY(1px);
499
+ opacity: var(--opacity, 0.5);
500
+ }
501
+ ._enable_1ykfy_54:hover {
502
+ transform: translateX(-1px) translateY(-1px);
503
+ opacity: var(--opacity, 0.7);
504
+ box-shadow: 0.125rem 0.125rem 0.125rem rgba(128, 128, 128, 0.25);
505
+ }
506
+ ._enable_1ykfy_54:active {
507
+ transform: translateX(1px) translateY(1px);
508
+ opacity: var(--opacity, 0.5);
509
+ box-shadow: -1px -1px 0.125rem rgba(128, 128, 128, 0.25);
510
+ }
511
+
512
+ ._flex_1ykfy_76 {
513
+ display: flex;
514
+ justify-content: center;
515
+ align-items: center;
516
+ gap: 0.5rem;
517
+ }
518
+
519
+ @keyframes _button-ripple_1ykfy_1 {
520
+ 0% {
521
+ transform: scale(0);
522
+ opacity: 1;
523
+ }
524
+ 50% {
525
+ transform: scale(1.2);
526
+ opacity: 1;
527
+ }
528
+ 100% {
529
+ transform: scale(1.2);
530
+ opacity: 0;
531
+ }
532
+ }
533
+ ._ripple_1ykfy_97 {
534
+ position: absolute;
535
+ pointer-events: none;
536
+ border-radius: 50%;
537
+ background-color: rgba(205, 181, 123, 0.15);
538
+ width: 100%;
539
+ aspect-ratio: 1/1;
540
+ transition: none;
541
+ opacity: 0;
542
+ animation-name: _button-ripple_1ykfy_1;
543
+ animation-duration: 300ms;
544
+ animation-fill-mode: both;
545
+ animation-timing-function: ease-out;
546
+ }._container_101ok_1 {
547
+ width: fit-content;
548
+ font-family: sans-serif;
549
+ user-select: none;
550
+ cursor: pointer;
551
+ transition: opacity 200ms;
552
+ }
553
+ ._container_101ok_1:hover {
554
+ opacity: 0.8;
555
+ }
556
+ ._container--disable_101ok_11 {
557
+ opacity: 0.45;
558
+ cursor: not-allowed;
559
+ }
560
+ ._container--disable_101ok_11:hover {
561
+ opacity: 0.45;
562
+ }
563
+
564
+ ._checkbox_101ok_19 {
565
+ stroke: rgba(0, 0, 0, 0.8);
566
+ fill: transparent;
567
+ }
568
+ [data-theme=dark] ._checkbox_101ok_19 {
569
+ stroke: rgba(255, 255, 255, 0.8);
570
+ }
571
+
572
+ ._rect_101ok_27 {
573
+ transition: all 0.2s;
574
+ }
575
+ ._rect--loading_101ok_30 {
576
+ opacity: 0.3;
577
+ }
578
+ ._rect--checked_101ok_33 {
579
+ fill: rgba(0, 0, 0, 0.8);
580
+ }
581
+ [data-theme=dark] ._rect--checked_101ok_33 {
582
+ fill: rgba(255, 255, 255, 0.8);
583
+ }
584
+
585
+ ._loading_101ok_40 {
586
+ transition: opacity 200ms;
587
+ fill: rgba(0, 0, 0, 0.7);
588
+ }
589
+ [data-theme=dark] ._loading_101ok_40 {
590
+ fill: rgba(255, 255, 255, 0.7);
591
+ }
592
+
593
+ @keyframes _elmethis-checkbox-check-line_101ok_1 {
594
+ 0% {
595
+ stroke-dashoffset: 100%;
596
+ }
597
+ 100% {
598
+ stroke-dashoffset: 0%;
599
+ }
600
+ }
601
+ ._check-line_101ok_56 {
602
+ stroke-dasharray: 100%;
603
+ animation-name: _elmethis-checkbox-check-line_101ok_1;
604
+ animation-duration: 0.2s;
605
+ animation-timing-function: ease-in-out;
606
+ animation-delay: 0.1s;
607
+ animation-fill-mode: both;
608
+ transform-origin: center;
609
+ stroke: rgba(255, 255, 255, 0.9);
610
+ }
611
+ [data-theme=dark] ._check-line_101ok_56 {
612
+ stroke: rgba(0, 0, 0, 0.9);
613
+ }._wrapper_1o5x2_1 {
614
+ user-select: none;
615
+ position: relative;
616
+ box-sizing: border-box;
617
+ width: 100%;
618
+ padding: 0.25rem;
619
+ border-radius: 0.25rem;
620
+ display: flex;
621
+ flex-direction: column;
622
+ justify-content: space-between;
623
+ border-style: solid;
624
+ border-width: 1px;
625
+ border-color: transparent;
626
+ transition: border-color 200ms, background-color 200ms;
627
+ background-color: rgba(255, 255, 255, 0.8);
628
+ box-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.15);
629
+ }
630
+ [data-theme=dark] ._wrapper_1o5x2_1 {
631
+ background-color: rgba(255, 255, 255, 0.15);
632
+ box-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.75);
633
+ }
634
+
635
+ ._active_1o5x2_23 {
636
+ border-color: var(--highlight-color);
637
+ }
638
+
639
+ ._header_1o5x2_27 {
640
+ box-sizing: border-box;
641
+ height: 0.75rem;
642
+ padding: 0 0.25rem;
643
+ display: flex;
644
+ justify-content: space-between;
645
+ }
646
+
647
+ ._label_1o5x2_35 {
648
+ display: inline;
649
+ margin: 0;
650
+ padding: 0;
651
+ font-size: 0.75rem;
652
+ line-height: 0.75rem;
653
+ height: 0.75rem;
654
+ vertical-align: top;
655
+ transition: color 200ms;
656
+ user-select: none;
657
+ color: var(--highlight-color);
658
+ }
659
+
660
+ ._body_1o5x2_48 {
661
+ display: flex;
662
+ justify-content: space-between;
663
+ align-items: center;
664
+ padding-right: 0.25rem;
665
+ padding-left: 0.25rem;
666
+ cursor: pointer;
667
+ }
668
+
669
+ ._select_1o5x2_57 {
670
+ padding: 0.5rem;
671
+ width: 100%;
672
+ height: 1.25rem;
673
+ display: flex;
674
+ justify-content: space-between;
675
+ align-items: center;
676
+ }
677
+
678
+ ._selected_1o5x2_66 {
679
+ width: 100%;
680
+ overflow: hidden;
681
+ }
682
+
683
+ ._fallback_1o5x2_71 {
684
+ opacity: 0.6;
685
+ display: flex;
686
+ justify-content: flex-start;
687
+ align-items: center;
688
+ gap: 0.5rem;
689
+ }
690
+
691
+ ._pulldown_1o5x2_79 {
692
+ position: absolute;
693
+ top: 4rem;
694
+ left: 0;
695
+ z-index: 100;
696
+ box-sizing: border-box;
697
+ width: 100%;
698
+ padding: 0.25rem;
699
+ border-radius: 0.25rem;
700
+ background-color: rgba(255, 255, 255, 0.95);
701
+ box-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.15);
702
+ }
703
+ [data-theme=dark] ._pulldown_1o5x2_79 {
704
+ background-color: rgba(51, 51, 51, 0.95);
705
+ box-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.75);
706
+ }
707
+
708
+ ._option_1o5x2_96 {
709
+ overflow: hidden;
710
+ width: 100%;
711
+ padding: 0.5rem;
712
+ box-sizing: border-box;
713
+ border-radius: 0.25rem;
714
+ display: flex;
715
+ justify-content: flex-start;
716
+ align-items: center;
717
+ gap: 0.25rem;
718
+ transition: background-color 100ms;
719
+ cursor: pointer;
720
+ }
721
+ ._option_1o5x2_96:hover {
722
+ background-color: rgba(190, 194, 202, 0.3);
723
+ }
724
+ [data-theme=dark] ._option_1o5x2_96:hover {
725
+ background-color: rgba(190, 194, 202, 0.2);
726
+ }
727
+
728
+ ._description_1o5x2_116 {
729
+ box-sizing: border-box;
730
+ opacity: 0.35;
731
+ padding-left: 0.25rem;
732
+ font-size: 0.75em;
733
+ white-space: nowrap;
734
+ text-overflow: ellipsis;
735
+ }._switch_gpty5_1 {
736
+ display: none;
737
+ }
738
+
739
+ ._bar_gpty5_5 {
740
+ z-index: 0;
741
+ padding: var(--padding);
742
+ width: var(--width);
743
+ height: var(--size);
744
+ border-radius: calc((var(--size) + var(--padding)) / 2);
745
+ position: relative;
746
+ cursor: pointer;
747
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
748
+ transition: opacity 300ms, background-color 300ms;
749
+ background-color: rgba(128, 128, 128, 0.25);
750
+ }
751
+ ._bar--checked_gpty5_17 {
752
+ background-color: var(--color);
753
+ opacity: 0.9;
754
+ }
755
+ ._bar--disabled_gpty5_21 {
756
+ cursor: not-allowed;
757
+ }
758
+
759
+ ._circle_gpty5_25 {
760
+ z-index: 1;
761
+ width: var(--size);
762
+ height: var(--size);
763
+ border-radius: 50%;
764
+ position: absolute;
765
+ top: var(--padding);
766
+ left: var(--padding);
767
+ transition: transform 300ms, opacity 300ms, background-color 300ms;
768
+ background-color: rgba(255, 255, 255, 0.9);
769
+ }
770
+ ._circle--checked_gpty5_36 {
771
+ transform: translateX(calc(var(--width) - var(--size)));
772
+ }
773
+ ._circle--disabled_gpty5_39 {
774
+ opacity: 0.5;
775
+ background-color: gray;
776
+ }
777
+ ._circle_gpty5_25:hover {
778
+ opacity: 0.8;
437
779
  }@keyframes _loading_1yj0v_19 {
438
780
  0% {
439
781
  transform-origin: 0%;
@@ -595,6 +937,14 @@
595
937
  }
596
938
  [data-theme=dark] ._suffix_1yj0v_153 {
597
939
  color: rgba(255, 255, 255, 0.65);
940
+ }._validation_r3xix_1 {
941
+ display: flex;
942
+ justify-content: flex-start;
943
+ align-items: center;
944
+ padding: 0.125rem 0;
945
+ gap: 0.5rem;
946
+ opacity: var(--opacity);
947
+ transition: opacity 250ms;
598
948
  }._icon_1husg_1 {
599
949
  display: block;
600
950
  box-sizing: border-box;
@@ -0,0 +1,25 @@
1
+ import { type PropFunction } from "@builder.io/qwik";
2
+ export interface ElmButtonProps {
3
+ /**
4
+ * Whether the button is in loading state.
5
+ */
6
+ loading?: boolean;
7
+ /**
8
+ * Whether the button is block.
9
+ */
10
+ block?: boolean;
11
+ /**
12
+ * Whether the button is disabled.
13
+ */
14
+ disabled?: boolean;
15
+ color?: string;
16
+ /**
17
+ * Whether the button is primary.
18
+ */
19
+ primary?: boolean;
20
+ /**
21
+ * Click handler
22
+ */
23
+ onClick$?: PropFunction<() => void>;
24
+ }
25
+ export declare const ElmButton: import("@builder.io/qwik").Component<ElmButtonProps>;
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from "storybook-framework-qwik";
2
+ import { ElmButton } from "./elm-button";
3
+ declare const meta: Meta<typeof ElmButton>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
7
+ export declare const Block: Story;
8
+ export declare const Loading: Story;
9
+ export declare const Flex: Story;
10
+ export declare const Disabled: Story;
11
+ export declare const WithPrimary: Story;
@@ -0,0 +1,20 @@
1
+ import { type Signal } from "@builder.io/qwik";
2
+ export interface ElmCheckboxProps {
3
+ /**
4
+ * The label displayed.
5
+ */
6
+ label: string;
7
+ /**
8
+ * Whether the checkbox is in a loading state.
9
+ */
10
+ loading?: boolean;
11
+ /**
12
+ * Whether the checkbox is disabled.
13
+ */
14
+ disable?: boolean;
15
+ /**
16
+ * Checkbox state
17
+ */
18
+ checked?: Signal<boolean>;
19
+ }
20
+ export declare const ElmCheckbox: import("@builder.io/qwik").Component<ElmCheckboxProps>;
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from "storybook-framework-qwik";
2
+ import { ElmCheckbox } from "./elm-checkbox";
3
+ declare const meta: Meta<typeof ElmCheckbox>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
@@ -0,0 +1,15 @@
1
+ import { type Signal } from "@builder.io/qwik";
2
+ export interface ElmSelectOption {
3
+ id: string;
4
+ label: string;
5
+ description?: string;
6
+ }
7
+ export interface ElmSelectProps {
8
+ label: string;
9
+ placeholder?: string;
10
+ disabled?: boolean;
11
+ loading?: boolean;
12
+ options: ElmSelectOption[];
13
+ selectedOption?: Signal<ElmSelectOption | null>;
14
+ }
15
+ export declare const ElmSelect: import("@builder.io/qwik").Component<ElmSelectProps>;
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from "storybook-framework-qwik";
2
+ import { ElmSelect } from "./elm-select";
3
+ declare const meta: Meta<typeof ElmSelect>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
@@ -0,0 +1,20 @@
1
+ import { type Signal } from "@builder.io/qwik";
2
+ export interface ElmSwitchProps {
3
+ /**
4
+ * The color of the switch when checked.
5
+ */
6
+ color?: string;
7
+ /**
8
+ * The size of the switch.
9
+ */
10
+ size?: string;
11
+ /**
12
+ * Whether the switch is disabled.
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * Checked state.
17
+ */
18
+ checked?: Signal<boolean>;
19
+ }
20
+ export declare const ElmSwitch: import("@builder.io/qwik").Component<ElmSwitchProps>;
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from "storybook-framework-qwik";
2
+ import { ElmSwitch } from "./elm-switch";
3
+ declare const meta: Meta<typeof ElmSwitch>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
7
+ export declare const Disabled: Story;
8
+ export declare const CustomColor: Story;
@@ -4,7 +4,4 @@ declare const meta: Meta<typeof ElmTextField>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof meta>;
6
6
  export declare const Primary: Story;
7
- export declare const WithIcon: Story;
8
- export declare const Password: Story;
9
- export declare const MaxLength: Story;
10
- export declare const Loading: Story;
7
+ export declare const Focus: Story;
@@ -0,0 +1,6 @@
1
+ export interface ElmValidationProps {
2
+ text: string;
3
+ validColor?: string;
4
+ isValid: boolean;
5
+ }
6
+ export declare const ElmValidation: import("@builder.io/qwik").Component<ElmValidationProps>;
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from "storybook-framework-qwik";
2
+ import { ElmValidation } from "./elm-validation";
3
+ declare const meta: Meta<typeof ElmValidation>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
@@ -5,7 +5,12 @@ export { ElmParallax, type ElmParallaxProps, } from "./components/containments/e
5
5
  export { ElmToggle, type ElmToggleProps, } from "./components/containments/elm-toggle";
6
6
  export { ElmBlockFallback, type ElmBlockFallbackProps, } from "./components/fallback/elm-block-fallback";
7
7
  export { ElmRectangleWave, type ElmRectangleWaveProps, } from "./components/fallback/elm-rectangle-wave";
8
+ export { ElmButton, type ElmButtonProps } from "./components/form/elm-button";
9
+ export { ElmCheckbox, type ElmCheckboxProps, } from "./components/form/elm-checkbox";
10
+ export { ElmSelect, type ElmSelectOption, type ElmSelectProps, } from "./components/form/elm-select";
11
+ export { ElmSwitch, type ElmSwitchProps } from "./components/form/elm-switch";
8
12
  export { ElmTextField, type ElmTextFieldProps, } from "./components/form/elm-text-field";
13
+ export { ElmValidation, type ElmValidationProps, } from "./components/form/elm-validation";
9
14
  export { ElmDotLoadingIcon, type ElmDotLoadingIconProps, } from "./components/icon/elm-dot-loading-icon";
10
15
  export { ElmInlineIcon, type ElmInlineIconProps, } from "./components/icon/elm-inline-icon";
11
16
  export { ElmLanguageIcon, type ElmLanguageIconProps, } from "./components/icon/elm-language-icon";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmethis/qwik",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },