@asafarim/booking-calendar 0.2.1 → 0.4.1

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/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Figtree:ital,wght@0,300..900;1,300..900&family=Jost:ital,wght@0,100..900;1,100..900&family=Karla:ital,wght@0,200..800;1,200..800&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lexend:wght@100..900&family=Manrope:wght@200..800&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Outfit:wght@100..900&family=Overpass:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Public+Sans:ital,wght@0,100..900;1,100..900&family=Quicksand:wght@300..700&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Sora:wght@100..800&family=Space+Grotesk:wght@300..700&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Barriecito&family=Borel&family=DynaPuff:wght@400..700&family=Gabarito:wght@400..900&family=Kranky&family=Macondo&family=Playpen+Sans:wght@100..800&family=Rubik+Spray+Paint&family=Shadows+Into+Light+Two&family=Zalando+Sans:ital,wght@0,200..900;1,200..900&display=swap";:root{--bc-bg: #0b0b10;--bc-surface: #111827;--bc-grid-line: #1f2933;--bc-text: #e5e7eb;--bc-muted: #9ca3af;--bc-accent: #3b82f6;--bc-danger: #ef4444;--bc-success: #22c55e;--bc-warning: #eab308;--bc-border-radius-sm: 4px;--bc-border-radius-md: 8px}*{box-sizing:border-box}.booking-calendar{background:var(--bc-bg);color:var(--bc-text);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.booking-calendar-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--asm-space-3);padding:var(--asm-space-3) var(--asm-space-4);background:var(--bc-surface);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line)}.booking-calendar-nav{display:flex;gap:var(--asm-space-2);align-items:center;flex-wrap:wrap;order:1;flex-basis:100%}.nav-btn{background:transparent;border:var(--asm-border-hairline) solid var(--bc-grid-line);color:var(--bc-text);padding:var(--asm-space-2) var(--asm-space-3);border-radius:var(--bc-border-radius-sm);cursor:pointer;font-size:var(--asm-font-size-sm);min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;transition:var(--asm-transition-fade)}.nav-btn:hover{background:var(--bc-grid-line)}.nav-btn:focus{outline:none;border-color:var(--asm-color-primary-500)}.current-date{margin:0;font-size:var(--asm-font-size-md);font-weight:var(--asm-font-weight-600);text-align:center;flex:1;min-width:150px;order:2}.booking-calendar-view-switcher{display:flex;gap:var(--asm-border-hairline);order:3;flex-basis:100%;justify-content:center}.booking-calendar-view-switcher button{background:transparent;border:var(--asm-border-hairline) solid var(--bc-grid-line);color:var(--bc-muted);padding:var(--asm-space-2) var(--asm-space-3);cursor:pointer;font-size:var(--asm-font-size-sm);min-height:40px;transition:var(--asm-transition-fade)}.booking-calendar-view-switcher button:first-child{border-radius:var(--bc-border-radius-sm) 0 0 var(--bc-border-radius-sm)}.booking-calendar-view-switcher button:last-child{border-radius:0 var(--bc-border-radius-sm) var(--bc-border-radius-sm) 0}.booking-calendar-view-switcher button.active{background:var(--asm-color-primary-500);color:var(--asm-color-primary-0);border-color:var(--asm-color-primary-500)}.booking-calendar-view-switcher button:hover:not(.active){background:var(--bc-grid-line)}.booking-calendar-view-switcher button:focus{outline:none;border-color:var(--asm-color-primary-500)}.booking-calendar-body{flex:1;overflow:auto;position:relative;min-width:0}@media (min-width: 768px){.booking-calendar-header{flex-wrap:nowrap;gap:var(--asm-space-4);padding:var(--asm-space-4) var(--asm-space-6)}.booking-calendar-nav{flex-basis:auto;order:1}.current-date{margin:0 var(--asm-space-4);font-size:var(--asm-font-size-lg);flex:0 1 auto;order:2}.booking-calendar-view-switcher{flex-basis:auto;justify-content:flex-end;order:3}}:root{--asm-font-family-base: "Inter", "Lato", "Open Sans", "Roboto";--asm-font-family-inter: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--asm-font-family-primary: "Inter", "Lato", "Open Sans", "Roboto";--asm-font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--asm-font-family-poppins: "Poppins", ui-sans-serif, system-ui, sans-serif;--asm-font-family-open-sans: "Open Sans", ui-sans-serif, system-ui, sans-serif;--asm-font-family-lato: "Lato", ui-sans-serif, system-ui, sans-serif;--asm-font-family-rubik: "Rubik", ui-sans-serif, system-ui, sans-serif;--asm-font-family-nunito: "Nunito", ui-sans-serif, system-ui, sans-serif;--asm-font-family-work-sans: "Work Sans", ui-sans-serif, system-ui, sans-serif;--asm-font-family-manrope: "Manrope", ui-sans-serif, system-ui, sans-serif;--asm-font-family-figtree: "Figtree", ui-sans-serif, system-ui, sans-serif;--asm-font-family-sora: "Sora", ui-sans-serif, system-ui, sans-serif;--asm-font-family-outfit: "Outfit", ui-sans-serif, system-ui, sans-serif;--asm-font-family-lexend: "Lexend", ui-sans-serif, system-ui, sans-serif;--asm-font-family-public-sans: "Public Sans", ui-sans-serif, system-ui, sans-serif;--asm-font-family-dm-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;--asm-font-family-overpass: "Overpass", ui-sans-serif, system-ui, sans-serif;--asm-font-family-quicksand: "Quicksand", ui-sans-serif, system-ui, sans-serif;--asm-font-family-karla: "Karla", ui-sans-serif, system-ui, sans-serif;--asm-font-family-barlow: "Barlow", ui-sans-serif, system-ui, sans-serif;--asm-font-family-space-grotesk: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--asm-font-family-red-hat: "Red Hat Display", ui-sans-serif, system-ui, sans-serif;--asm-font-family-jost: "Jost", ui-sans-serif, system-ui, sans-serif;--asm-font-family-barriecito: "Barriecito", cursive, sans-serif;--asm-font-family-borel: "Borel", cursive, sans-serif;--asm-font-family-dynapuff: "DynaPuff", cursive, sans-serif;--asm-font-family-gabarito: "Gabarito", sans-serif;--asm-font-family-kranky: "Kranky", cursive, sans-serif;--asm-font-family-macondo: "Macondo", cursive, sans-serif;--asm-font-family-playpen-sans: "Playpen Sans", cursive, sans-serif;--asm-font-family-rubik-spray: "Rubik Spray Paint", cursive, sans-serif;--asm-font-family-shadows-light: "Shadows Into Light Two", cursive, sans-serif;--asm-font-family-zalando: "Zalando Sans", ui-sans-serif, system-ui, sans-serif;--asm-font-weight-100: 100;--asm-font-weight-200: 200;--asm-font-weight-300: 300;--asm-font-weight-400: 400;--asm-font-weight-500: 500;--asm-font-weight-600: 600;--asm-font-weight-700: 700;--asm-font-weight-800: 800;--asm-font-weight-900: 900;--asm-font-size-xs: .75rem;--asm-font-size-sm: .875rem;--asm-font-size-md: 1rem;--asm-font-size-lg: 1.125rem;--asm-font-size-xl: 1.25rem;--asm-font-size-2xl: 1.5rem;--asm-font-size-3xl: 1.875rem;--asm-font-size-4xl: 2.25rem;--asm-font-size-5xl: 3rem;--asm-font-size-6xl: 3.75rem;--asm-line-height-tight: 1.1;--asm-line-height-normal: 1.4;--asm-line-height-relaxed: 1.6;--asm-line-height-h1: 1.05;--asm-line-height-h2: 1.1;--asm-line-height-h3: 1.15;--asm-line-height-h4: 1.2;--asm-line-height-h5: 1.25;--asm-line-height-h6: 1.25;--asm-letter-spacing-tight: -.01em;--asm-letter-spacing-normal: 0em;--asm-letter-spacing-wide: .02em;--asm-space-0: 0px;--asm-space-1: 4px;--asm-space-2: 8px;--asm-space-3: 12px;--asm-space-4: 16px;--asm-space-5: 20px;--asm-space-6: 24px;--asm-space-8: 32px;--asm-space-10: 40px;--asm-space-12: 48px;--asm-space-16: 64px;--asm-space-page-padding-x: clamp(16px, 3vw, 32px);--asm-space-page-padding-y: clamp(16px, 3vw, 40px);--asm-space-section-gap: clamp(24px, 4vw, 64px);--asm-space-component-gap: 16px;--asm-grid-columns: 12;--asm-grid-gutter: 24px;--asm-container-xs: 480px;--asm-container-sm: 640px;--asm-container-md: 768px;--asm-container-lg: 1024px;--asm-container-xl: 1280px;--asm-container-2xl: 1360px;--asm-radius-sm: 6px;--asm-radius-md: 10px;--asm-radius-lg: 12px;--asm-radius-xl: 16px;--asm-radius-full: 9999px;--asm-border-hairline: 1px;--asm-border-thin: 2px;--asm-border-thick: 3px;--asm-effect-shadow-sm: 0 1px 2px rgba(17, 24, 39, .06);--asm-effect-shadow-md: 0 6px 20px rgba(17, 24, 39, .1);--asm-effect-shadow-lg: 0 16px 40px rgba(17, 24, 39, .14);--asm-effect-shadow-xl: 0 24px 60px rgba(17, 24, 39, .18);--asm-effect-blur-sm: 4px;--asm-effect-blur-md: 8px;--asm-effect-blur-lg: 16px;--asm-motion-duration-fast: .12s;--asm-motion-duration-normal: .2s;--asm-motion-duration-slow: .32s;--asm-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--asm-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1.2);--asm-motion-easing-entrance: cubic-bezier(0, 0, 0, 1);--asm-motion-easing-exit: cubic-bezier(.4, 0, 1, 1);--asm-transition-fade: opacity var(--asm-motion-duration-normal) var(--asm-motion-easing-standard);--asm-transition-slide: transform var(--asm-motion-duration-normal) var(--asm-motion-easing-standard);--asm-transition-scale: transform var(--asm-motion-duration-fast) var(--asm-motion-easing-emphasized);--asm-z-base: 0;--asm-z-dropdown: 100;--asm-z-sticky: 200;--asm-z-overlay: 300;--asm-z-modal: 400;--asm-z-popover: 450;--asm-z-tooltip: 500;--asm-z-toast: 600;--asm-icon-size-xs: 12px;--asm-icon-size-sm: 16px;--asm-icon-size-md: 20px;--asm-icon-size-lg: 24px;--asm-icon-size-xl: 28px;--asm-icon-stroke-thin: 1;--asm-icon-stroke-regular: 1.5;--asm-icon-stroke-bold: 2;--asm-density-factor: 1;--asm-space-control-padding-y: 8px;--asm-space-control-padding-x: 12px}:root{--asm-color-bg: #F9FAFB;--asm-color-surface: #FFFFFF;--asm-color-surface-muted: #F3F4F6;--asm-color-panel: #FFFFFF;--asm-color-modal: #FFFFFF;--asm-color-text: #111827;--asm-color-text-muted: #6B7280;--asm-color-border: #D1D5DB;--asm-color-primary-0: #FFFFFF;--asm-color-primary-50: #EEF2FF;--asm-color-primary-100: #E0E7FF;--asm-color-primary-200: #C7D2FE;--asm-color-primary-300: #A5B4FC;--asm-color-primary-400: #818CF8;--asm-color-primary-500: #3A5AFE;--asm-color-primary-600: #304FFE;--asm-color-primary-700: #1E40FF;--asm-color-primary-800: #1E3A8A;--asm-color-primary-900: #1E293B;--asm-color-primary-950: #0F172A;--asm-color-brand-primary-50: #EEF2FF;--asm-color-brand-primary-500: #3A5AFE;--asm-color-brand-primary-600: #304FFE;--asm-color-brand-primary-700: #1E40FF;--asm-color-warning-0: #FFFFFF;--asm-color-warning-50: #FFFBEB;--asm-color-warning-100: #FEF3C7;--asm-color-warning-200: #FDE68A;--asm-color-warning-300: #FCD34D;--asm-color-warning-400: #FBBF24;--asm-color-warning-500: #F59E0B;--asm-color-warning-600: #D97706;--asm-color-warning-700: #B45309;--asm-color-warning-800: #92400E;--asm-color-warning-900: #78350F;--asm-color-warning-950: #451A03;--asm-color-danger-0: #FFFFFF;--asm-color-danger-50: #FEF2F2;--asm-color-danger-100: #FEE2E2;--asm-color-danger-200: #FECACA;--asm-color-danger-300: #FCA5A5;--asm-color-danger-400: #F87171;--asm-color-danger-500: #EF4444;--asm-color-danger-600: #DC2626;--asm-color-danger-700: #B91C1C;--asm-color-danger-800: #991B1B;--asm-color-danger-900: #7F1D1D;--asm-color-danger-950: #450A0A;--asm-color-info-0: #FFFFFF;--asm-color-info-50: #F0F9FF;--asm-color-info-100: #E0F2FE;--asm-color-info-200: #BAE6FD;--asm-color-info-300: #7DD3FC;--asm-color-info-400: #38BDF8;--asm-color-info-500: #0EA5E9;--asm-color-info-600: #0284C7;--asm-color-info-700: #0369A1;--asm-color-info-800: #075985;--asm-color-info-900: #0C4A6E;--asm-color-info-950: #082F49;--asm-color-success-0: #FFFFFF;--asm-color-success-50: #F0FDF4;--asm-color-success-100: #DCFCE7;--asm-color-success-200: #BBF7D0;--asm-color-success-300: #86EFAC;--asm-color-success-400: #4ADE80;--asm-color-success-500: #16A34A;--asm-color-success-600: #16A34A;--asm-color-success-700: #15803D;--asm-color-success-800: #166534;--asm-color-success-900: #14532D;--asm-color-success-950: #052E16;--asm-color-purple-0: #FFFFFF;--asm-color-purple-50: #FAF5FF;--asm-color-purple-100: #F3E8FF;--asm-color-purple-200: #E9D5FF;--asm-color-purple-300: #D8B4FE;--asm-color-purple-400: #C084FC;--asm-color-purple-500: #A855F7;--asm-color-purple-600: #9333EA;--asm-color-purple-700: #7E22CE;--asm-color-purple-800: #6B21A8;--asm-color-purple-900: #581C87;--asm-color-purple-950: #3B0764;--asm-color-neutral-0: #FFFFFF;--asm-color-neutral-50: #F9FAFB;--asm-color-neutral-100: #F3F4F6;--asm-color-neutral-200: #E5E7EB;--asm-color-neutral-300: #D1D5DB;--asm-color-neutral-400: #9CA3AF;--asm-color-neutral-500: #6B7280;--asm-color-neutral-600: #4B5563;--asm-color-neutral-700: #374151;--asm-color-neutral-800: #1F2937;--asm-color-neutral-900: #111827;--asm-color-neutral-950: #030712;--asm-color-secondary-0: #FFFFFF;--asm-color-secondary-50: #F0FDFA;--asm-color-secondary-100: #CCFBF1;--asm-color-secondary-200: #99F6E4;--asm-color-secondary-300: #5EEAD4;--asm-color-secondary-400: #2DD4BF;--asm-color-secondary-500: #14B8A6;--asm-color-secondary-600: #0D9488;--asm-color-secondary-700: #0F766E;--asm-color-secondary-800: #115E59;--asm-color-secondary-900: #134E4A;--asm-color-secondary-950: #042F2E;--asm-color-semantic-success: #16A34A;--asm-color-semantic-warning: #F59E0B;--asm-color-semantic-error: #EF4444;--asm-color-semantic-info: #0EA5E9;--asm-color-button-primary-bg: #304FFE;--asm-color-button-primary-bg-hover: #1E40FF;--asm-color-button-primary-bg-active: #1E40FF;--asm-color-button-primary-text: #FFFFFF;--asm-color-button-secondary-bg: #FFFFFF;--asm-color-button-secondary-text: #111827;--asm-color-button-ghost-bg-hover: rgba(17, 24, 39, .06);--asm-color-button-destructive-bg: #EF4444;--asm-color-button-destructive-text: #FFFFFF;--asm-color-button-disabled-bg: #D1D5DB;--asm-color-button-disabled-text: #374151;--asm-color-input-bg: #FFFFFF;--asm-color-input-text: #111827;--asm-color-input-border: #D1D5DB;--asm-color-input-border-hover: #6B7280;--asm-color-input-border-focus: #304FFE;--asm-color-input-placeholder: #6B7280;--asm-color-input-error-border: #EF4444;--asm-color-input-success-border: #16A34A;--asm-color-focus-ring: #3A5AFE;--asm-color-overlay-scrim: rgba(17, 24, 39, .48)}[data-theme=dark]{--asm-color-bg: #0B1220;--asm-color-surface: #0F172A;--asm-color-surface-muted: #111B2E;--asm-color-panel: #0F172A;--asm-color-modal: #0F172A;--asm-color-text: #E5E7EB;--asm-color-text-muted: #9CA3AF;--asm-color-border: #1F2937;--asm-color-primary-0: #0F172A;--asm-color-primary-50: #1E293B;--asm-color-primary-100: #1E3A8A;--asm-color-primary-200: #1E40FF;--asm-color-primary-300: #304FFE;--asm-color-primary-400: #3A5AFE;--asm-color-primary-500: #4F6BFF;--asm-color-primary-600: #6B82FF;--asm-color-primary-700: #818CF8;--asm-color-primary-800: #A5B4FC;--asm-color-primary-900: #C7D2FE;--asm-color-primary-950: #E0E7FF;--asm-color-brand-primary-50: #EEF2FF;--asm-color-brand-primary-500: #3A5AFE;--asm-color-brand-primary-600: #3A5AFE;--asm-color-brand-primary-700: #304FFE;--asm-color-warning-0: #451A03;--asm-color-warning-50: #78350F;--asm-color-warning-100: #92400E;--asm-color-warning-200: #B45309;--asm-color-warning-300: #D97706;--asm-color-warning-400: #F59E0B;--asm-color-warning-500: #FBBF24;--asm-color-warning-600: #FCD34D;--asm-color-warning-700: #FDE68A;--asm-color-warning-800: #FEF3C7;--asm-color-warning-900: #FFFBEB;--asm-color-warning-950: #FFFEF5;--asm-color-danger-0: #450A0A;--asm-color-danger-50: #7F1D1D;--asm-color-danger-100: #991B1B;--asm-color-danger-200: #B91C1C;--asm-color-danger-300: #DC2626;--asm-color-danger-400: #EF4444;--asm-color-danger-500: #F87171;--asm-color-danger-600: #FCA5A5;--asm-color-danger-700: #FECACA;--asm-color-danger-800: #FEE2E2;--asm-color-danger-900: #FEF2F2;--asm-color-danger-950: #FEF9F9;--asm-color-info-0: #082F49;--asm-color-info-50: #0C4A6E;--asm-color-info-100: #075985;--asm-color-info-200: #0369A1;--asm-color-info-300: #0284C7;--asm-color-info-400: #0EA5E9;--asm-color-info-500: #38BDF8;--asm-color-info-600: #7DD3FC;--asm-color-info-700: #BAE6FD;--asm-color-info-800: #E0F2FE;--asm-color-info-900: #F0F9FF;--asm-color-info-950: #F7FCFF;--asm-color-success-0: #052E16;--asm-color-success-50: #14532D;--asm-color-success-100: #166534;--asm-color-success-200: #15803D;--asm-color-success-300: #16A34A;--asm-color-success-400: #22C55E;--asm-color-success-500: #4ADE80;--asm-color-success-600: #86EFAC;--asm-color-success-700: #BBF7D0;--asm-color-success-800: #DCFCE7;--asm-color-success-900: #F0FDF4;--asm-color-success-950: #F7FEF9;--asm-color-purple-0: #3B0764;--asm-color-purple-50: #581C87;--asm-color-purple-100: #6B21A8;--asm-color-purple-200: #7E22CE;--asm-color-purple-300: #9333EA;--asm-color-purple-400: #A855F7;--asm-color-purple-500: #C084FC;--asm-color-purple-600: #D8B4FE;--asm-color-purple-700: #E9D5FF;--asm-color-purple-800: #F3E8FF;--asm-color-purple-900: #FAF5FF;--asm-color-purple-950: #FDFAFF;--asm-color-neutral-0: #030712;--asm-color-neutral-50: #111827;--asm-color-neutral-100: #1F2937;--asm-color-neutral-200: #374151;--asm-color-neutral-300: #4B5563;--asm-color-neutral-400: #6B7280;--asm-color-neutral-500: #9CA3AF;--asm-color-neutral-600: #D1D5DB;--asm-color-neutral-700: #E5E7EB;--asm-color-neutral-800: #F3F4F6;--asm-color-neutral-900: #F9FAFB;--asm-color-neutral-950: #FCFCFD;--asm-color-secondary-0: #042F2E;--asm-color-secondary-50: #134E4A;--asm-color-secondary-100: #115E59;--asm-color-secondary-200: #0F766E;--asm-color-secondary-300: #0D9488;--asm-color-secondary-400: #14B8A6;--asm-color-secondary-500: #2DD4BF;--asm-color-secondary-600: #5EEAD4;--asm-color-secondary-700: #99F6E4;--asm-color-secondary-800: #CCFBF1;--asm-color-secondary-900: #F0FDFA;--asm-color-secondary-950: #F7FEFD;--asm-color-semantic-success: #22C55E;--asm-color-semantic-warning: #FBBF24;--asm-color-semantic-error: #F87171;--asm-color-semantic-info: #38BDF8;--asm-color-button-primary-bg: #3A5AFE;--asm-color-button-primary-bg-hover: #304FFE;--asm-color-button-primary-bg-active: #304FFE;--asm-color-button-primary-text: #FFFFFF;--asm-color-button-secondary-bg: #111B2E;--asm-color-button-secondary-text: #E5E7EB;--asm-color-button-ghost-bg-hover: rgba(229, 231, 235, .08);--asm-color-button-destructive-bg: #F87171;--asm-color-button-destructive-text: #0B1220;--asm-color-button-disabled-bg: #1F2937;--asm-color-button-disabled-text: #9CA3AF;--asm-color-input-bg: #0B1220;--asm-color-input-text: #E5E7EB;--asm-color-input-border: #1F2937;--asm-color-input-border-hover: #374151;--asm-color-input-border-focus: #3A5AFE;--asm-color-input-placeholder: #9CA3AF;--asm-color-input-error-border: #F87171;--asm-color-input-success-border: #22C55E;--asm-color-focus-ring: #3A5AFE;--asm-color-overlay-scrim: rgba(17, 24, 39, .64)}[data-contrast=high]{--asm-color-bg: #000000;--asm-color-surface: #000000;--asm-color-surface-muted: #000000;--asm-color-panel: #000000;--asm-color-modal: #000000;--asm-color-text: #FFFFFF;--asm-color-text-muted: #FFFFFF;--asm-color-border: #FFFFFF;--asm-color-primary-0: #000000;--asm-color-primary-50: #1A1A1A;--asm-color-primary-100: #333333;--asm-color-primary-200: #4D4D4D;--asm-color-primary-300: #666666;--asm-color-primary-400: #808080;--asm-color-primary-500: #FFFFFF;--asm-color-primary-600: #FFFFFF;--asm-color-primary-700: #FFFFFF;--asm-color-primary-800: #FFFFFF;--asm-color-primary-900: #FFFFFF;--asm-color-primary-950: #FFFFFF;--asm-color-brand-primary-50: #FFFFFF;--asm-color-brand-primary-500: #FFFFFF;--asm-color-brand-primary-600: #FFFFFF;--asm-color-brand-primary-700: #FFFFFF;--asm-color-warning-0: #000000;--asm-color-warning-50: #1A1A00;--asm-color-warning-100: #333300;--asm-color-warning-200: #666600;--asm-color-warning-300: #999900;--asm-color-warning-400: #CCCC00;--asm-color-warning-500: #FFFF00;--asm-color-warning-600: #FFFF33;--asm-color-warning-700: #FFFF66;--asm-color-warning-800: #FFFF99;--asm-color-warning-900: #FFFFCC;--asm-color-warning-950: #FFFFEE;--asm-color-danger-0: #000000;--asm-color-danger-50: #1A0000;--asm-color-danger-100: #330000;--asm-color-danger-200: #660000;--asm-color-danger-300: #990000;--asm-color-danger-400: #CC0000;--asm-color-danger-500: #FF0000;--asm-color-danger-600: #FF3333;--asm-color-danger-700: #FF6666;--asm-color-danger-800: #FF9999;--asm-color-danger-900: #FFCCCC;--asm-color-danger-950: #FFEEEE;--asm-color-info-0: #000000;--asm-color-info-50: #001A1A;--asm-color-info-100: #003333;--asm-color-info-200: #006666;--asm-color-info-300: #009999;--asm-color-info-400: #00CCCC;--asm-color-info-500: #00FFFF;--asm-color-info-600: #33FFFF;--asm-color-info-700: #66FFFF;--asm-color-info-800: #99FFFF;--asm-color-info-900: #CCFFFF;--asm-color-info-950: #EEFFFF;--asm-color-success-0: #000000;--asm-color-success-50: #001A00;--asm-color-success-100: #003300;--asm-color-success-200: #006600;--asm-color-success-300: #009900;--asm-color-success-400: #00CC00;--asm-color-success-500: #00FF00;--asm-color-success-600: #33FF33;--asm-color-success-700: #66FF66;--asm-color-success-800: #99FF99;--asm-color-success-900: #CCFFCC;--asm-color-success-950: #EEFFEE;--asm-color-purple-0: #000000;--asm-color-purple-50: #1A001A;--asm-color-purple-100: #330033;--asm-color-purple-200: #660066;--asm-color-purple-300: #990099;--asm-color-purple-400: #CC00CC;--asm-color-purple-500: #FF00FF;--asm-color-purple-600: #FF33FF;--asm-color-purple-700: #FF66FF;--asm-color-purple-800: #FF99FF;--asm-color-purple-900: #FFCCFF;--asm-color-purple-950: #FFEEFF;--asm-color-neutral-0: #000000;--asm-color-neutral-50: #1A1A1A;--asm-color-neutral-100: #333333;--asm-color-neutral-200: #4D4D4D;--asm-color-neutral-300: #666666;--asm-color-neutral-400: #808080;--asm-color-neutral-500: #999999;--asm-color-neutral-600: #B3B3B3;--asm-color-neutral-700: #CCCCCC;--asm-color-neutral-800: #E6E6E6;--asm-color-neutral-900: #FFFFFF;--asm-color-neutral-950: #FFFFFF;--asm-color-secondary-0: #000000;--asm-color-secondary-50: #001A1A;--asm-color-secondary-100: #003333;--asm-color-secondary-200: #004D4D;--asm-color-secondary-300: #006666;--asm-color-secondary-400: #008080;--asm-color-secondary-500: #00CCCC;--asm-color-secondary-600: #00FFFF;--asm-color-secondary-700: #66FFFF;--asm-color-secondary-800: #99FFFF;--asm-color-secondary-900: #CCFFFF;--asm-color-secondary-950: #EEFFFF;--asm-color-semantic-success: #00FF00;--asm-color-semantic-warning: #FFFF00;--asm-color-semantic-error: #FF0000;--asm-color-semantic-info: #00FFFF;--asm-color-button-primary-bg: #FFFFFF;--asm-color-button-primary-bg-hover: #FFFFFF;--asm-color-button-primary-bg-active: #FFFFFF;--asm-color-button-primary-text: #000000;--asm-color-button-secondary-bg: #000000;--asm-color-button-secondary-text: #FFFFFF;--asm-color-button-ghost-bg-hover: #FFFFFF;--asm-color-button-destructive-bg: #FF0000;--asm-color-button-destructive-text: #000000;--asm-color-button-disabled-bg: #000000;--asm-color-button-disabled-text: #FFFFFF;--asm-color-input-bg: #000000;--asm-color-input-text: #FFFFFF;--asm-color-input-border: #FFFFFF;--asm-color-input-border-hover: #FFFFFF;--asm-color-input-border-focus: #FFFFFF;--asm-color-input-placeholder: #FFFFFF;--asm-color-input-error-border: #FF0000;--asm-color-input-success-border: #00FF00;--asm-color-focus-ring: #FFFFFF;--asm-color-overlay-scrim: rgba(255, 255, 255, .9)}[data-density=compact]{--asm-density-factor: .9;--asm-space-component-gap: 12px;--asm-space-control-padding-y: 6px;--asm-space-control-padding-x: 10px}[data-density=comfortable]{--asm-density-factor: 1.05;--asm-space-component-gap: 18px;--asm-space-control-padding-y: 10px;--asm-space-control-padding-x: 14px}[dir=rtl]{direction:rtl}:root{color-scheme:light dark}@media (prefers-reduced-motion: reduce){:root{--asm-motion-duration-fast: 0ms;--asm-motion-duration-normal: 0ms;--asm-motion-duration-slow: 0ms}}:where([data-theme]){background-color:var(--asm-color-bg);color:var(--asm-color-text)}.bc-month-view{height:100%;display:flex;flex-direction:column;min-width:0}.bc-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--bc-surface);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line)}.bc-month-header-cell{padding:var(--asm-space-2);text-align:center;font-weight:var(--asm-font-weight-600);font-size:var(--asm-font-size-xs);color:var(--bc-muted)}.bc-month-grid{flex:1;display:flex;flex-direction:column;min-width:0}.bc-month-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line)}.bc-month-day{border-right:var(--asm-border-hairline) solid var(--bc-grid-line);padding:var(--asm-space-2);cursor:pointer;overflow:hidden;position:relative;min-height:60px;display:flex;flex-direction:column}.bc-month-day:hover{background:#3b82f61a}.bc-week-view{height:100%;display:flex;flex-direction:column;min-width:0}.bc-week-header{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));background:var(--bc-surface);border-bottom:var(--asm-border-thin) solid var(--bc-grid-line);position:sticky;top:0;z-index:5;min-width:0}.bc-week-time-gutter{border-right:var(--asm-border-hairline) solid var(--bc-grid-line)}.bc-week-day-header{text-align:center;padding:var(--asm-space-2);border-right:var(--asm-border-hairline) solid var(--bc-grid-line);min-width:0;overflow:hidden}.bc-week-day-header.bc-today{background:#3b82f626}.bc-week-day-name{font-size:var(--asm-font-size-xs);color:var(--bc-muted);text-transform:uppercase}.bc-week-day-date{font-size:var(--asm-font-size-md);font-weight:var(--asm-font-weight-600);margin-top:var(--asm-border-hairline)}.bc-week-body{flex:1;display:grid;grid-template-columns:48px 1fr;overflow:auto;min-width:0}.bc-week-time-column{border-right:var(--asm-border-hairline) solid var(--bc-grid-line);flex-shrink:0;width:48px}.bc-week-time-slot{height:60px;padding:var(--asm-border-hairline) var(--asm-space-1);font-size:var(--asm-font-size-xs);color:var(--bc-muted);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line);text-align:right}.bc-week-grid-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;min-width:0}.bc-week-day-column{border-right:1px solid var(--bc-grid-line);position:relative}.bc-week-day-column.bc-today{background:#3b82f60d}.bc-week-grid-slot{height:60px;border-bottom:1px solid var(--bc-grid-line);cursor:pointer}.bc-week-grid-slot:hover{background:#3b82f61a}.bc-week-event{position:absolute;background:var(--bc-accent);border-radius:var(--bc-border-radius-sm);padding:4px 8px;cursor:pointer;overflow:hidden;box-shadow:0 2px 4px #0003;z-index:10}.bc-week-event:hover{box-shadow:0 4px 8px #0000004d}.bc-week-event-title{font-weight:600;font-size:12px;margin-bottom:2px}.bc-week-event-time{font-size:10px;opacity:.9}.bc-week-now-line{position:absolute;left:0;right:0;height:2px;background:var(--bc-danger);z-index:20;pointer-events:none}.bc-week-now-dot{position:absolute;left:-4px;top:-3px;width:8px;height:8px;background:var(--bc-danger);border-radius:50%}.bc-day-view{height:100%;display:flex;flex-direction:column;min-width:0}.bc-day-header{padding:var(--asm-space-3) var(--asm-space-4);background:var(--bc-surface);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line)}.bc-day-title{font-size:var(--asm-font-size-md);font-weight:var(--asm-font-weight-600);margin:0}.bc-day-body{flex:1;display:grid;grid-template-columns:48px 1fr;overflow:auto;min-width:0}.bc-day-time-column{border-right:var(--asm-border-hairline) solid var(--bc-grid-line);flex-shrink:0;width:48px}.bc-day-time-slot{height:60px;padding:var(--asm-border-hairline) var(--asm-space-1);font-size:var(--asm-font-size-xs);color:var(--bc-muted);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line);text-align:right}.bc-day-grid-container{position:relative;min-width:0}.bc-day-column{position:relative}.bc-day-grid-slot{height:60px;border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line);cursor:pointer}.bc-day-grid-slot:hover{background:#3b82f61a}.bc-day-event{position:absolute;background:var(--bc-accent);border-radius:var(--bc-border-radius-md);padding:var(--asm-space-2) var(--asm-space-3);cursor:pointer;box-shadow:0 2px 6px #0003;z-index:10;left:var(--asm-space-2);right:var(--asm-space-2);min-height:40px}.bc-day-event:hover{box-shadow:0 4px 12px #0000004d}.bc-day-event-title{font-weight:var(--asm-font-weight-600);font-size:var(--asm-font-size-sm);margin-bottom:var(--asm-space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-day-event-client{font-size:var(--asm-font-size-xs);opacity:.9;margin-bottom:var(--asm-space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-day-event-time{font-size:var(--asm-font-size-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-day-now-line{position:absolute;left:0;right:0;height:var(--asm-border-thin);background:var(--bc-danger);z-index:20;pointer-events:none}.bc-day-now-dot{position:absolute;left:-4px;top:-3px;width:8px;height:8px;background:var(--bc-danger);border-radius:50%}@media (min-width: 768px){.bc-week-header{grid-template-columns:56px repeat(7,minmax(0,1fr))}.bc-week-body{grid-template-columns:56px 1fr}.bc-week-time-column{width:56px}.bc-week-day-date{font-size:var(--asm-font-size-lg)}.bc-day-body{grid-template-columns:56px 1fr}.bc-day-time-column{width:56px}.bc-day-time-slot{padding:var(--asm-space-1) var(--asm-space-2);font-size:var(--asm-font-size-sm)}.bc-day-title{font-size:var(--asm-font-size-lg)}.bc-day-event-title{font-size:var(--asm-font-size-md)}.bc-day-event-client{font-size:var(--asm-font-size-sm)}}.bc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bc-modal{background:var(--bc-surface);border-radius:var(--bc-border-radius-md);width:90%;max-width:600px;max-height:90dvh;overflow:auto;box-shadow:0 20px 25px -5px #00000080}@media (max-width: 479px){.bc-modal{width:100%;max-width:100%;max-height:100dvh;border-radius:var(--bc-border-radius-md) var(--bc-border-radius-md) 0 0;position:fixed;bottom:0;left:0;right:0}.bc-modal-body{max-height:calc(100dvh - 120px);overflow-y:auto}.bc-form-row{grid-template-columns:1fr}.bc-modal-footer{flex-wrap:wrap;gap:var(--asm-space-2)}.bc-modal-actions-left,.bc-modal-actions-right{flex-basis:100%;flex-direction:column}.bc-modal-actions-left button,.bc-modal-actions-right button{width:100%}.bc-btn{min-height:44px}}@media (min-width: 480px) and (max-width: 767px){.bc-modal{max-width:95%}.bc-form-row{grid-template-columns:1fr}}.bc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--bc-grid-line)}.bc-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.bc-modal-close{background:transparent;border:none;color:var(--bc-muted);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.bc-modal-close:hover{color:var(--bc-text)}.bc-modal-body{padding:1.5rem}.bc-form-group{margin-bottom:1rem}.bc-form-group label{display:block;margin-bottom:.5rem;font-size:14px;font-weight:500;color:var(--bc-text)}.bc-form-group input,.bc-form-group textarea,.bc-form-group select{width:100%;padding:.625rem;background:var(--bc-bg);border:1px solid var(--bc-grid-line);border-radius:var(--bc-border-radius-sm);color:var(--bc-text);font-size:14px}.bc-form-group input:focus,.bc-form-group textarea:focus,.bc-form-group select:focus{outline:none;border-color:var(--bc-accent)}.bc-form-group input.bc-input-error{border-color:var(--bc-danger)}.bc-error-text{display:block;margin-top:.25rem;color:var(--bc-danger);font-size:12px}.bc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bc-modal-footer{display:flex;justify-content:space-between;padding:1.5rem;border-top:1px solid var(--bc-grid-line)}.bc-modal-actions-left,.bc-modal-actions-right{display:flex;gap:.5rem}.bc-btn{padding:.625rem 1.25rem;border-radius:var(--bc-border-radius-sm);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.bc-btn:disabled{opacity:.5;cursor:not-allowed}.bc-btn-primary{background:var(--asm-color-primary-500);color:var(--asm-color-primary-0)}.bc-btn-primary:hover:not(:disabled){background:var(--asm-color-primary-600)}.bc-btn-secondary{background:transparent;color:var(--bc-text);border:var(--asm-border-hairline) solid var(--bc-grid-line)}.bc-btn-secondary:hover:not(:disabled){background:var(--bc-grid-line)}.bc-btn-danger{background:var(--asm-color-danger-500);color:var(--asm-color-primary-0)}.bc-btn-danger:hover:not(:disabled){background:var(--asm-color-danger-600)}.bc-jump-modal{max-width:480px}.bc-jump-year-row{display:flex;align-items:center;justify-content:center;gap:var(--asm-space-2);margin-bottom:var(--asm-space-6)}.bc-jump-year-input{width:100px;padding:var(--asm-space-2);text-align:center;background:var(--bc-bg);border:var(--asm-border-hairline) solid var(--bc-grid-line);border-radius:var(--bc-border-radius-sm);color:var(--bc-text);font-size:var(--asm-font-size-lg);font-weight:var(--asm-font-weight-600)}.bc-jump-year-input:focus{outline:none;border-color:var(--asm-color-primary-500)}.bc-jump-year-btn{width:var(--asm-icon-size-xl);height:var(--asm-icon-size-xl);padding:0;background:var(--bc-bg);border:var(--asm-border-hairline) solid var(--bc-grid-line);border-radius:var(--bc-border-radius-sm);color:var(--bc-text);font-size:var(--asm-font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--asm-transition-fade)}.bc-jump-year-btn:hover{background:var(--bc-grid-line);border-color:var(--asm-color-primary-500)}.bc-jump-year-btn:focus{outline:none;border-color:var(--asm-color-primary-500)}.bc-jump-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--asm-space-2);margin-bottom:var(--asm-space-6)}.bc-jump-month-btn{padding:var(--asm-space-2);background:var(--bc-bg);border:var(--asm-border-hairline) solid var(--bc-grid-line);border-radius:var(--bc-border-radius-sm);color:var(--bc-text);font-size:var(--asm-font-size-sm);font-weight:var(--asm-font-weight-500);cursor:pointer;transition:var(--asm-transition-fade)}.bc-jump-month-btn:hover{background:var(--bc-grid-line);border-color:var(--asm-color-primary-500)}.bc-jump-month-btn:focus{outline:none;border-color:var(--asm-color-primary-500)}.bc-jump-month-btn.bc-jump-selected{background:var(--asm-color-primary-500);color:var(--asm-color-primary-0);border-color:var(--asm-color-primary-500)}.bc-jump-calendar{border:var(--asm-border-hairline) solid var(--bc-grid-line);border-radius:var(--bc-border-radius-sm);overflow:hidden}.bc-jump-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bc-bg);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line)}.bc-jump-weekday{padding:var(--asm-space-2);text-align:center;font-size:var(--asm-font-size-xs);font-weight:var(--asm-font-weight-600);color:var(--bc-muted);text-transform:uppercase}.bc-jump-days{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bc-surface)}.bc-jump-day{aspect-ratio:1;padding:var(--asm-space-2);background:transparent;border:none;border-right:var(--asm-border-hairline) solid var(--bc-grid-line);border-bottom:var(--asm-border-hairline) solid var(--bc-grid-line);color:var(--bc-text);font-size:var(--asm-font-size-sm);cursor:pointer;transition:var(--asm-transition-fade);display:flex;align-items:center;justify-content:center}.bc-jump-day:nth-child(7n){border-right:none}.bc-jump-day:hover{background:var(--bc-grid-line)}.bc-jump-day:focus{outline:none;background:var(--bc-grid-line);box-shadow:inset 0 0 0 var(--asm-border-thin) var(--asm-color-primary-500)}.bc-jump-day-muted{color:var(--bc-muted);opacity:.5}.bc-jump-day-today{font-weight:var(--asm-font-weight-700);color:var(--asm-color-primary-500)}.bc-jump-day-selected{background:var(--asm-color-primary-500);color:var(--asm-color-primary-0);font-weight:var(--asm-font-weight-600)}.bc-jump-day-selected:hover{background:var(--asm-color-primary-600)}.current-date-btn{background:transparent;border:none;cursor:pointer;transition:var(--asm-transition-fade)}.current-date-btn:hover{color:var(--asm-color-primary-500)}.current-date-btn:focus{outline:none;color:var(--asm-color-primary-500)}@media (max-width: 479px){.bc-jump-modal{max-width:100%}.bc-jump-month-grid{grid-template-columns:repeat(3,1fr)}.bc-jump-year-input{width:80px;font-size:var(--asm-font-size-md)}.bc-jump-calendar{max-height:calc(100dvh - 300px);overflow-y:auto}}.bc-status-badge,.bc-delivery-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bc-badge-xs{padding:1px 4px;font-size:9px}.bc-badge-sm{padding:2px 6px;font-size:10px}.bc-badge-md{padding:3px 8px;font-size:11px}.bc-status-pending{background:#eab30833;color:var(--bc-warning)}.bc-status-confirmed{background:#22c55e33;color:var(--bc-success)}.bc-status-cancelled{background:#ef444433;color:var(--bc-danger)}.bc-status-completed{background:#3b82f633;color:var(--bc-accent)}.bc-status-noshow,.bc-delivery-pending{background:#9ca3af33;color:var(--bc-muted)}.bc-delivery-sent{background:#22c55e33;color:var(--bc-success)}.bc-delivery-failed{background:#ef444433;color:var(--bc-danger)}.bc-delivery-retrying{background:#eab30833;color:var(--bc-warning)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asafarim/booking-calendar",
3
- "version": "0.2.1",
3
+ "version": "0.4.1",
4
4
  "description": "Google Calendar-style booking UI for FreelanceToolkit.Api",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,7 +21,8 @@
21
21
  "react-dom": "^18.0.0"
22
22
  },
23
23
  "dependencies": {
24
- "date-fns": "^3.0.0"
24
+ "date-fns": "^3.0.0",
25
+ "@asafarim/design-tokens": "^0.5.0"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@types/react": "^18.2.0",
@@ -36,10 +37,9 @@
36
37
  "booking",
37
38
  "scheduler",
38
39
  "react",
39
- "typescript",
40
- "freelance-toolkit"
40
+ "typescript"
41
41
  ],
42
- "author": "ASafariM",
42
+ "author": "ASafariM <asafarim@gmail.com>",
43
43
  "license": "MIT",
44
44
  "private": false,
45
45
  "repository": {
@@ -49,7 +49,7 @@
49
49
  "bugs": {
50
50
  "url": "https://github.com/AliSafari-IT/booking-calendar/issues"
51
51
  },
52
- "homepage": "https://github.com/AliSafari-IT/booking-calendar/blob/main/example/README.md",
52
+ "homepage": "https://alisafari-it.github.io/booking-calendar",
53
53
  "publishConfig": {
54
54
  "access": "public",
55
55
  "registry": "https://registry.npmjs.org/",
@@ -58,6 +58,11 @@
58
58
  "scripts": {
59
59
  "clean": "rm -rf dist",
60
60
  "build": "tsc && vite build",
61
- "preview": "vite preview"
61
+ "preview": "vite preview",
62
+ "predemo": "pnpm install && pnpm run build",
63
+ "demo": "cd demo && pnpm run dev",
64
+ "deploy-demo": "cd demo && pnpm run deploy",
65
+ "deploy": "pnpm run predemo && cd demo && pnpm run deploy-demo",
66
+ "release": "pnpm run build && node ./scripts/release.js"
62
67
  }
63
68
  }
package/LICENSE DELETED
@@ -1,23 +0,0 @@
1
- # License
2
-
3
- This project is licensed under the **Creative Commons Attribution 4.0 International (CC BY 4.0)** license.
4
-
5
- You are free to:
6
-
7
- - **Share** — copy and redistribute the material in any medium or format
8
- - **Adapt** — remix, transform, and build upon the material for any purpose, even commercially
9
-
10
- Under the following terms:
11
-
12
- - **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made.
13
- You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
14
-
15
- ## 📌 Attribution Requirement
16
-
17
- If you use or modify this project, please include the following attribution:
18
-
19
- > Based on work by [Ali Safari](https://github.com/AliSafari-IT/asafarim-dot-be)
20
-
21
- ## 🔗 Full License Text
22
-
23
- For full details, see the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/).
package/dist/index.css DELETED
@@ -1 +0,0 @@
1
- :root{--bc-bg: #0b0b10;--bc-surface: #111827;--bc-grid-line: #1f2933;--bc-text: #e5e7eb;--bc-muted: #9ca3af;--bc-accent: #3b82f6;--bc-danger: #ef4444;--bc-success: #22c55e;--bc-warning: #eab308;--bc-border-radius-sm: 4px;--bc-border-radius-md: 8px}.booking-calendar{background:var(--bc-bg);color:var(--bc-text);height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.booking-calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bc-surface);border-bottom:1px solid var(--bc-grid-line)}.booking-calendar-nav{display:flex;gap:.5rem;align-items:center}.nav-btn{background:transparent;border:1px solid var(--bc-grid-line);color:var(--bc-text);padding:.5rem 1rem;border-radius:var(--bc-border-radius-sm);cursor:pointer;font-size:14px}.nav-btn:hover{background:var(--bc-grid-line)}.current-date{margin:0 1rem;font-size:1.25rem;font-weight:600}.booking-calendar-view-switcher{display:flex;gap:.25rem}.booking-calendar-view-switcher button{background:transparent;border:1px solid var(--bc-grid-line);color:var(--bc-muted);padding:.5rem 1rem;cursor:pointer;font-size:14px}.booking-calendar-view-switcher button:first-child{border-radius:var(--bc-border-radius-sm) 0 0 var(--bc-border-radius-sm)}.booking-calendar-view-switcher button:last-child{border-radius:0 var(--bc-border-radius-sm) var(--bc-border-radius-sm) 0}.booking-calendar-view-switcher button.active{background:var(--bc-accent);color:#fff;border-color:var(--bc-accent)}.booking-calendar-body{flex:1;overflow:auto;position:relative}.bc-month-view{height:100%;display:flex;flex-direction:column}.bc-month-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bc-surface);border-bottom:1px solid var(--bc-grid-line)}.bc-month-header-cell{padding:.75rem;text-align:center;font-weight:600;font-size:14px;color:var(--bc-muted)}.bc-month-grid{flex:1;display:flex;flex-direction:column}.bc-month-week{display:grid;grid-template-columns:repeat(7,1fr);flex:1;border-bottom:1px solid var(--bc-grid-line)}.bc-month-day{border-right:1px solid var(--bc-grid-line);padding:.5rem;cursor:pointer;overflow:hidden;position:relative}.bc-month-day:hover{background:#3b82f61a}.bc-month-day.bc-other-month{opacity:.4}.bc-month-day.bc-today{background:#3b82f626}.bc-month-day-number{font-weight:600;margin-bottom:.25rem;font-size:14px}.bc-month-day-events{display:flex;flex-direction:column;gap:2px}.bc-month-event{background:var(--bc-surface);padding:2px 4px;border-radius:var(--bc-border-radius-sm);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.bc-month-event:hover{background:var(--bc-grid-line)}.bc-month-event-title{overflow:hidden;text-overflow:ellipsis}.bc-month-event-more{color:var(--bc-muted);font-size:11px;padding:2px 4px}.bc-week-view{height:100%;display:flex;flex-direction:column}.bc-week-header{display:grid;grid-template-columns:60px repeat(7,1fr);background:var(--bc-surface);border-bottom:2px solid var(--bc-grid-line)}.bc-week-time-gutter{border-right:1px solid var(--bc-grid-line)}.bc-week-day-header{text-align:center;padding:.75rem;border-right:1px solid var(--bc-grid-line)}.bc-week-day-header.bc-today{background:#3b82f626}.bc-week-day-name{font-size:12px;color:var(--bc-muted);text-transform:uppercase}.bc-week-day-date{font-size:18px;font-weight:600;margin-top:4px}.bc-week-body{flex:1;display:grid;grid-template-columns:60px 1fr;overflow:auto}.bc-week-time-column{border-right:1px solid var(--bc-grid-line)}.bc-week-time-slot{height:60px;padding:4px 8px;font-size:11px;color:var(--bc-muted);border-bottom:1px solid var(--bc-grid-line);text-align:right}.bc-week-grid-container{display:grid;grid-template-columns:repeat(7,1fr);position:relative}.bc-week-day-column{border-right:1px solid var(--bc-grid-line);position:relative}.bc-week-day-column.bc-today{background:#3b82f60d}.bc-week-grid-slot{height:60px;border-bottom:1px solid var(--bc-grid-line);cursor:pointer}.bc-week-grid-slot:hover{background:#3b82f61a}.bc-week-event{position:absolute;background:var(--bc-accent);border-radius:var(--bc-border-radius-sm);padding:4px 8px;cursor:pointer;overflow:hidden;box-shadow:0 2px 4px #0003;z-index:10}.bc-week-event:hover{box-shadow:0 4px 8px #0000004d}.bc-week-event-title{font-weight:600;font-size:12px;margin-bottom:2px}.bc-week-event-time{font-size:10px;opacity:.9}.bc-week-now-line{position:absolute;left:0;right:0;height:2px;background:var(--bc-danger);z-index:20;pointer-events:none}.bc-week-now-dot{position:absolute;left:-4px;top:-3px;width:8px;height:8px;background:var(--bc-danger);border-radius:50%}.bc-day-view{height:100%;display:flex;flex-direction:column}.bc-day-header{padding:1rem 1.5rem;background:var(--bc-surface);border-bottom:1px solid var(--bc-grid-line)}.bc-day-title{font-size:1.25rem;font-weight:600}.bc-day-body{flex:1;display:grid;grid-template-columns:80px 1fr;overflow:auto}.bc-day-time-column{border-right:1px solid var(--bc-grid-line)}.bc-day-time-slot{height:60px;padding:4px 12px;font-size:12px;color:var(--bc-muted);border-bottom:1px solid var(--bc-grid-line);text-align:right}.bc-day-grid-container,.bc-day-column{position:relative}.bc-day-grid-slot{height:60px;border-bottom:1px solid var(--bc-grid-line);cursor:pointer}.bc-day-grid-slot:hover{background:#3b82f61a}.bc-day-event{position:absolute;background:var(--bc-accent);border-radius:var(--bc-border-radius-md);padding:8px 12px;cursor:pointer;box-shadow:0 2px 6px #0003;z-index:10;left:10px;right:10px}.bc-day-event:hover{box-shadow:0 4px 12px #0000004d}.bc-day-event-title{font-weight:600;font-size:14px;margin-bottom:4px}.bc-day-event-client{font-size:12px;opacity:.9;margin-bottom:4px}.bc-day-event-time{font-size:11px;opacity:.8}.bc-day-now-line{position:absolute;left:0;right:0;height:2px;background:var(--bc-danger);z-index:20;pointer-events:none}.bc-day-now-dot{position:absolute;left:-4px;top:-3px;width:8px;height:8px;background:var(--bc-danger);border-radius:50%}.bc-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bc-modal{background:var(--bc-surface);border-radius:var(--bc-border-radius-md);width:90%;max-width:600px;max-height:90vh;overflow:auto;box-shadow:0 20px 25px -5px #00000080}.bc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--bc-grid-line)}.bc-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.bc-modal-close{background:transparent;border:none;color:var(--bc-muted);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.bc-modal-close:hover{color:var(--bc-text)}.bc-modal-body{padding:1.5rem}.bc-form-group{margin-bottom:1rem}.bc-form-group label{display:block;margin-bottom:.5rem;font-size:14px;font-weight:500;color:var(--bc-text)}.bc-form-group input,.bc-form-group textarea,.bc-form-group select{width:100%;padding:.625rem;background:var(--bc-bg);border:1px solid var(--bc-grid-line);border-radius:var(--bc-border-radius-sm);color:var(--bc-text);font-size:14px}.bc-form-group input:focus,.bc-form-group textarea:focus,.bc-form-group select:focus{outline:none;border-color:var(--bc-accent)}.bc-form-group input.bc-input-error{border-color:var(--bc-danger)}.bc-error-text{display:block;margin-top:.25rem;color:var(--bc-danger);font-size:12px}.bc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bc-modal-footer{display:flex;justify-content:space-between;padding:1.5rem;border-top:1px solid var(--bc-grid-line)}.bc-modal-actions-left,.bc-modal-actions-right{display:flex;gap:.5rem}.bc-btn{padding:.625rem 1.25rem;border-radius:var(--bc-border-radius-sm);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.bc-btn:disabled{opacity:.5;cursor:not-allowed}.bc-btn-primary{background:var(--bc-accent);color:#fff}.bc-btn-primary:hover:not(:disabled){background:#2563eb}.bc-btn-secondary{background:transparent;color:var(--bc-text);border:1px solid var(--bc-grid-line)}.bc-btn-secondary:hover:not(:disabled){background:var(--bc-grid-line)}.bc-btn-danger{background:var(--bc-danger);color:#fff}.bc-btn-danger:hover:not(:disabled){background:#dc2626}.bc-status-badge,.bc-delivery-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bc-badge-xs{padding:1px 4px;font-size:9px}.bc-badge-sm{padding:2px 6px;font-size:10px}.bc-badge-md{padding:3px 8px;font-size:11px}.bc-status-pending{background:#eab30833;color:var(--bc-warning)}.bc-status-confirmed{background:#22c55e33;color:var(--bc-success)}.bc-status-cancelled{background:#ef444433;color:var(--bc-danger)}.bc-status-completed{background:#3b82f633;color:var(--bc-accent)}.bc-status-noshow,.bc-delivery-pending{background:#9ca3af33;color:var(--bc-muted)}.bc-delivery-sent{background:#22c55e33;color:var(--bc-success)}.bc-delivery-failed{background:#ef444433;color:var(--bc-danger)}.bc-delivery-retrying{background:#eab30833;color:var(--bc-warning)}