@campphillip/widgets 4.0.7 → 4.0.8

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/widgets.css CHANGED
@@ -1 +1 @@
1
- ._banner_1d1ur_1{height:300px;padding:15px;width:100%;background-size:cover;background-repeat:no-repeat;background-position:center;border-radius:9px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;font-family:Montserrat,sans-serif;font-size:28px;font-weight:700;color:#fff;text-align:start;box-shadow:0 4px 4px #00000040;transition:all .3s cubic-bezier(.25,.8,.25,1);text-decoration:none}._banner_1d1ur_1:hover{box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;text-decoration:none;color:#fff}._banner_1d1ur_1 p{margin:0;line-height:normal}._banner_1d1ur_1 a{color:#b50;text-decoration:none}._banner_1d1ur_1 a:hover{color:#ff8622;text-decoration:underline}@media only screen and (min-width:550px){._banner_1d1ur_1{font-size:48px;padding:20px}}@media only screen and (min-width:1000px){._banner_1d1ur_1{font-size:54px;height:375px;min-width:49%;padding:40px;flex:1}}@media only screen and (min-width:1440px){._banner_1d1ur_1{padding:1em}}._bannerContainer_79bac_1{display:flex;flex-direction:column;align-items:center;padding:0 10px}._bannerApp_79bac_8{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;width:100%;max-width:1440px}@media only screen and (min-width:550px){._bannerContainer_79bac_1{padding:0 20px}}@media only screen and (min-width:1000px){._bannerContainer_79bac_1{padding:0}._bannerApp_79bac_8{flex-direction:row}}._eventCard_17x4q_1{display:flex;flex-direction:column;width:100%;background:#fffef0;color:#333;font-size:14px;box-shadow:0 2px 8px #00000014;border-radius:4px}._eventCardBody_17x4q_13{flex:1 1 66%;display:flex;flex-direction:column;gap:1em;padding:1em!important;line-height:unset!important}._eventCardBody_17x4q_13 p{line-height:unset!important;margin:0}._image_17x4q_27{object-fit:cover;width:100%;height:300px;border-radius:4px 4px 0 0}._square_17x4q_34{object-fit:contain;padding:1em}._eventCardTitle_17x4q_39{font-family:Montserrat,sans-serif;font-size:24px;text-transform:unset!important;margin:0}._eventCardDate_17x4q_46{font-family:Montserrat,sans-serif;font-size:18px}._eventCardDescription_17x4q_51 p:not(:last-of-type){margin-bottom:.5em}._eventButtons_17x4q_55{font-family:Montserrat,sans-serif;display:flex;flex-direction:row;gap:1em;margin-top:.5em}._eventButtons_17x4q_55>span{width:100%}._eventButtons_17x4q_55 a{text-decoration:none}._eventButton_17x4q_55{flex:1;background:#5388d7;color:#fff;padding:12px;text-align:center;border-radius:4px}._eventButton_17x4q_55:hover{color:#fff;background-color:#3e7bd7}@media(min-width:550px){._eventCard_17x4q_1{font-size:20px}._eventCardBody_17x4q_13{padding:1em!important}._eventCardTitle_17x4q_39{font-size:28px}._eventCardDate_17x4q_46{font-size:20px}}@media(min-width:800px){._eventCard_17x4q_1{flex-direction:row;min-height:325px}._image_17x4q_27{max-width:40%;height:auto;min-height:100%;border-radius:4px 0 0 4px}._eventCardTitle_17x4q_39{font-size:32px}._eventButtons_17x4q_55{justify-content:flex-end;margin-top:auto}._eventButton_17x4q_55{flex:0 1 50%}._eventButton_17x4q_55:only-child{flex:0 1 calc(50% - .5em)}}@media(min-width:1000px){._image_17x4q_27{max-width:400px}}._eventCard_17x4q_1._summerCamp_17x4q_140{position:relative}._eventsContainer_1fuij_1{background:#fed136bf;display:flex;flex-direction:column;width:100%;padding:0 0 20px;position:relative;scroll-behavior:smooth}._eventsHeader_1fuij_11{display:flex;flex-direction:column;align-items:flex-start;margin:25px 0;padding:0 10px;gap:1em;z-index:5}._eventsHeader_1fuij_11 h1{font-family:Montserrat,sans-serif;margin:0;font-size:28px;text-transform:unset!important}._eventsList_1fuij_28{display:flex;flex-direction:column;gap:20px}._eventWrapper_1fuij_34{padding:0 10px}._summerCampGroup_1fuij_38{background:#16a34a;padding:20px 10px;display:flex;flex-direction:column;gap:20px;position:relative;scroll-margin-top:100px;border-top:8px solid #0f7033;border-bottom:8px solid #0f7033}._summerCampTitle_1fuij_50{font-family:Montserrat,sans-serif;font-weight:700;color:#fffef0;margin:0;font-size:28px;text-transform:unset!important;text-shadow:2px 2px 4px rgba(0,0,0,.3)}._empty_1fuij_60{display:flex;flex-direction:column;align-items:center;gap:.5em;padding:2em;text-align:center;font-size:16px;background:#fffef0;border-radius:4px;box-shadow:0 4px 4px #00000040}._empty_1fuij_60 img{width:100px}@media only screen and (min-width:550px){._eventsHeader_1fuij_11{margin:35px 0}._eventsHeader_1fuij_11 h1,._summerCampTitle_1fuij_50{font-size:48px}._empty_1fuij_60{font-size:20px}}@media only screen and (min-width:1000px){._eventsContainer_1fuij_1{max-width:1440px;padding:0 0 1em;margin-bottom:1em;border-radius:9px;box-shadow:0 4px 4px #00000040}._eventsHeader_1fuij_11{flex-wrap:wrap;flex-direction:row;align-items:center;justify-content:space-between;margin:30px 0;padding:0 40px}._eventsHeader_1fuij_11 h1{font-size:54px}._eventWrapper_1fuij_34{padding:0 40px}._summerCampGroup_1fuij_38{padding:20px 40px}._summerCampTitle_1fuij_50{font-size:54px}}@media only screen and (min-width:1440px){._eventsContainer_1fuij_1{padding:0 0 2em}._eventsHeader_1fuij_11,._eventWrapper_1fuij_34{padding:0 4em}._summerCampGroup_1fuij_38{padding:20px 4em}}._summerEventsButton_lx20e_2{background:linear-gradient(135deg,#16a34a,#0f7033);color:#fff;border:none;padding:8px 15px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #22c55e33;text-decoration:none}._summerEventsButton_lx20e_2:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 8px #22c55e4d}@media only screen and (min-width:550px){._summerEventsButton_lx20e_2{font-size:16px;padding:14px 24px}}@media(min-width:800px){._summerEventsButton_lx20e_2{font-size:20px;padding:14px 24px}}._calendarButton_1m4jh_1{text-decoration:none;background:#5388d7;padding:.5em .75em;color:#fff;border-radius:4px;flex-grow:0;font-size:16px;display:flex;flex-direction:row;gap:5px}._calendarButton_1m4jh_1:hover{background:#3e7bd7;color:#fff;text-decoration:none}@media only screen and (min-width:550px){._calendarButton_1m4jh_1{padding:.75em 1em;font-size:20px}}._contentButton_2dk7a_1{position:relative;flex:1 1 auto;width:100%;height:250px;border-radius:9px;text-decoration:none;font-family:Montserrat,sans-serif;font-weight:700;color:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;transition:all .3s cubic-bezier(.25,.8,.25,1)}._contentButton_2dk7a_1:hover{color:#fff!important;text-decoration:none!important;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038}._category-image_2dk7a_25{object-fit:cover;overflow:hidden;border-radius:9px;position:absolute;height:100%;width:100%;inset:0;color:transparent}._overlay_2dk7a_40{position:absolute;width:100%;height:100%;border-radius:9px;padding:1em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;background:#0000004d}._buttonTitle_2dk7a_56,._buttonSubtitle_2dk7a_57{text-align:center}._buttonTitle_2dk7a_56{font-weight:700;font-size:38px;line-height:1em;color:#fed136}._buttonSubtitle_2dk7a_57{font-size:16px}@media only screen and (min-width:550px){._contentButtonsHeader_2dk7a_73 h1{font-size:48px}._contentButton_2dk7a_1{flex:1 0 300px;height:250px}._buttonTitle_2dk7a_56{font-size:42px}._buttonSubtitle_2dk7a_57{font-size:20px}}@media only screen and (min-width:1000px){._contentButton_2dk7a_1{flex:1 0 400px;height:350px}._buttonTitle_2dk7a_56{font-size:50px}._buttonSubtitle_2dk7a_57{font-size:22px}}@media only screen and (min-width:1250px){._contentButton_2dk7a_1{flex:1 0 550px}}@media only screen and (min-width:1440px){._contentButton_2dk7a_1{flex:1 0 600px}._buttonTitle_2dk7a_56{font-size:54px}._buttonSubtitle_2dk7a_57{font-size:24px}}._categoryContainer_1yxkk_1{width:100%;padding:0 10px;display:flex;flex-direction:column;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;text-align:center}@media only screen and (min-width:550px){._categoryContainer_1yxkk_1{padding:0 20px;flex-direction:row}}@media only screen and (min-width:1000px){._categoryContainer_1yxkk_1{padding:0}._categoryContainerHeader_1yxkk_25 h1{font-size:58px}}._description_z94kn_1{margin:.75em 0}._description_z94kn_1 h4{text-transform:uppercase;font-family:Montserrat,sans-serif}._group-title_12ylh_1>td:first-child{font-weight:700}._rate-group-child_12ylh_5>td:first-child{padding-left:20px}._rate-table_6wuu7_1{width:100%;border-spacing:0;white-space:pre-line}._rate-table_6wuu7_1 tr:nth-child(odd){background-color:#fed13666}._rate-table_6wuu7_1 tr:nth-child(2n){background-color:#ff852299}._rate-table_6wuu7_1 tr._background-darker_6wuu7_15{background-color:#ff852299}._rate-table_6wuu7_1 td{vertical-align:top;padding:2.5px 5px}._rate-table_6wuu7_1 td:first-of-type{width:50%;text-align:left}._rate-table_6wuu7_1 td:last-of-type{text-align:right}._group-title_6wuu7_33>td:first-child{font-weight:700}._rate-card_i5ys9_1{width:100%;max-width:700px;margin:auto;padding:1em;background-color:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;flex-shrink:0;align-self:flex-start;font-size:1em}._rate-card-heading_i5ys9_13{margin:0 0 1em}._rate-card-heading_i5ys9_13 h3{font-family:Montserrat,sans-serif;text-align:center;text-transform:uppercase;font-weight:700;font-size:22px}._rate-card_i5ys9_1 h3,._rate-card_i5ys9_1 h4{margin:0}@media(min-width:400px){._rate-card-heading_i5ys9_13 h3{font-size:24px}}@media(min-width:550px){._rate-card_i5ys9_1{font-size:1.15em;border-radius:9px}._rate-card-heading_i5ys9_13 h3{font-size:26px}}@media(min-width:900px){._rate-card_i5ys9_1{padding:25px;font-size:1.25em}._rate-card-heading_i5ys9_13 h3{font-size:30px}}._rates-container_123ct_1{display:flex;flex-direction:column;width:100%;padding:5px 0;gap:20px;background-color:#fffef0}@media(min-width:550px){._rates-container_123ct_1{padding:15px}}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media(prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}
1
+ @keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media(prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}._eventCard_17x4q_1{display:flex;flex-direction:column;width:100%;background:#fffef0;color:#333;font-size:14px;box-shadow:0 2px 8px #00000014;border-radius:4px}._eventCardBody_17x4q_13{flex:1 1 66%;display:flex;flex-direction:column;gap:1em;padding:1em!important;line-height:unset!important}._eventCardBody_17x4q_13 p{line-height:unset!important;margin:0}._image_17x4q_27{object-fit:cover;width:100%;height:300px;border-radius:4px 4px 0 0}._square_17x4q_34{object-fit:contain;padding:1em}._eventCardTitle_17x4q_39{font-family:Montserrat,sans-serif;font-size:24px;text-transform:unset!important;margin:0}._eventCardDate_17x4q_46{font-family:Montserrat,sans-serif;font-size:18px}._eventCardDescription_17x4q_51 p:not(:last-of-type){margin-bottom:.5em}._eventButtons_17x4q_55{font-family:Montserrat,sans-serif;display:flex;flex-direction:row;gap:1em;margin-top:.5em}._eventButtons_17x4q_55>span{width:100%}._eventButtons_17x4q_55 a{text-decoration:none}._eventButton_17x4q_55{flex:1;background:#5388d7;color:#fff;padding:12px;text-align:center;border-radius:4px}._eventButton_17x4q_55:hover{color:#fff;background-color:#3e7bd7}@media(min-width:550px){._eventCard_17x4q_1{font-size:20px}._eventCardBody_17x4q_13{padding:1em!important}._eventCardTitle_17x4q_39{font-size:28px}._eventCardDate_17x4q_46{font-size:20px}}@media(min-width:800px){._eventCard_17x4q_1{flex-direction:row;min-height:325px}._image_17x4q_27{max-width:40%;height:auto;min-height:100%;border-radius:4px 0 0 4px}._eventCardTitle_17x4q_39{font-size:32px}._eventButtons_17x4q_55{justify-content:flex-end;margin-top:auto}._eventButton_17x4q_55{flex:0 1 50%}._eventButton_17x4q_55:only-child{flex:0 1 calc(50% - .5em)}}@media(min-width:1000px){._image_17x4q_27{max-width:400px}}._eventCard_17x4q_1._summerCamp_17x4q_140{position:relative}._eventsContainer_1fuij_1{background:#fed136bf;display:flex;flex-direction:column;width:100%;padding:0 0 20px;position:relative;scroll-behavior:smooth}._eventsHeader_1fuij_11{display:flex;flex-direction:column;align-items:flex-start;margin:25px 0;padding:0 10px;gap:1em;z-index:5}._eventsHeader_1fuij_11 h1{font-family:Montserrat,sans-serif;margin:0;font-size:28px;text-transform:unset!important}._eventsList_1fuij_28{display:flex;flex-direction:column;gap:20px}._eventWrapper_1fuij_34{padding:0 10px}._summerCampGroup_1fuij_38{background:#16a34a;padding:20px 10px;display:flex;flex-direction:column;gap:20px;position:relative;scroll-margin-top:100px;border-top:8px solid #0f7033;border-bottom:8px solid #0f7033}._summerCampTitle_1fuij_50{font-family:Montserrat,sans-serif;font-weight:700;color:#fffef0;margin:0;font-size:28px;text-transform:unset!important;text-shadow:2px 2px 4px rgba(0,0,0,.3)}._empty_1fuij_60{display:flex;flex-direction:column;align-items:center;gap:.5em;padding:2em;text-align:center;font-size:16px;background:#fffef0;border-radius:4px;box-shadow:0 4px 4px #00000040}._empty_1fuij_60 img{width:100px}@media only screen and (min-width:550px){._eventsHeader_1fuij_11{margin:35px 0}._eventsHeader_1fuij_11 h1,._summerCampTitle_1fuij_50{font-size:48px}._empty_1fuij_60{font-size:20px}}@media only screen and (min-width:1000px){._eventsContainer_1fuij_1{max-width:1440px;padding:0 0 1em;margin-bottom:1em;border-radius:9px;box-shadow:0 4px 4px #00000040}._eventsHeader_1fuij_11{flex-wrap:wrap;flex-direction:row;align-items:center;justify-content:space-between;margin:30px 0;padding:0 40px}._eventsHeader_1fuij_11 h1{font-size:54px}._eventWrapper_1fuij_34{padding:0 40px}._summerCampGroup_1fuij_38{padding:20px 40px}._summerCampTitle_1fuij_50{font-size:54px}}@media only screen and (min-width:1440px){._eventsContainer_1fuij_1{padding:0 0 2em}._eventsHeader_1fuij_11,._eventWrapper_1fuij_34{padding:0 4em}._summerCampGroup_1fuij_38{padding:20px 4em}}._calendarButton_1m4jh_1{text-decoration:none;background:#5388d7;padding:.5em .75em;color:#fff;border-radius:4px;flex-grow:0;font-size:16px;display:flex;flex-direction:row;gap:5px}._calendarButton_1m4jh_1:hover{background:#3e7bd7;color:#fff;text-decoration:none}@media only screen and (min-width:550px){._calendarButton_1m4jh_1{padding:.75em 1em;font-size:20px}}._summerEventsButton_lx20e_2{background:linear-gradient(135deg,#16a34a,#0f7033);color:#fff;border:none;padding:8px 15px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #22c55e33;text-decoration:none}._summerEventsButton_lx20e_2:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 8px #22c55e4d}@media only screen and (min-width:550px){._summerEventsButton_lx20e_2{font-size:16px;padding:14px 24px}}@media(min-width:800px){._summerEventsButton_lx20e_2{font-size:20px;padding:14px 24px}}._banner_1d1ur_1{height:300px;padding:15px;width:100%;background-size:cover;background-repeat:no-repeat;background-position:center;border-radius:9px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;font-family:Montserrat,sans-serif;font-size:28px;font-weight:700;color:#fff;text-align:start;box-shadow:0 4px 4px #00000040;transition:all .3s cubic-bezier(.25,.8,.25,1);text-decoration:none}._banner_1d1ur_1:hover{box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;text-decoration:none;color:#fff}._banner_1d1ur_1 p{margin:0;line-height:normal}._banner_1d1ur_1 a{color:#b50;text-decoration:none}._banner_1d1ur_1 a:hover{color:#ff8622;text-decoration:underline}@media only screen and (min-width:550px){._banner_1d1ur_1{font-size:48px;padding:20px}}@media only screen and (min-width:1000px){._banner_1d1ur_1{font-size:54px;height:375px;min-width:49%;padding:40px;flex:1}}@media only screen and (min-width:1440px){._banner_1d1ur_1{padding:1em}}._bannerContainer_79bac_1{display:flex;flex-direction:column;align-items:center;padding:0 10px}._bannerApp_79bac_8{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;width:100%;max-width:1440px}@media only screen and (min-width:550px){._bannerContainer_79bac_1{padding:0 20px}}@media only screen and (min-width:1000px){._bannerContainer_79bac_1{padding:0}._bannerApp_79bac_8{flex-direction:row}}._contentButton_2dk7a_1{position:relative;flex:1 1 auto;width:100%;height:250px;border-radius:9px;text-decoration:none;font-family:Montserrat,sans-serif;font-weight:700;color:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;transition:all .3s cubic-bezier(.25,.8,.25,1)}._contentButton_2dk7a_1:hover{color:#fff!important;text-decoration:none!important;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038}._category-image_2dk7a_25{object-fit:cover;overflow:hidden;border-radius:9px;position:absolute;height:100%;width:100%;inset:0;color:transparent}._overlay_2dk7a_40{position:absolute;width:100%;height:100%;border-radius:9px;padding:1em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;background:#0000004d}._buttonTitle_2dk7a_56,._buttonSubtitle_2dk7a_57{text-align:center}._buttonTitle_2dk7a_56{font-weight:700;font-size:38px;line-height:1em;color:#fed136}._buttonSubtitle_2dk7a_57{font-size:16px}@media only screen and (min-width:550px){._contentButtonsHeader_2dk7a_73 h1{font-size:48px}._contentButton_2dk7a_1{flex:1 0 300px;height:250px}._buttonTitle_2dk7a_56{font-size:42px}._buttonSubtitle_2dk7a_57{font-size:20px}}@media only screen and (min-width:1000px){._contentButton_2dk7a_1{flex:1 0 400px;height:350px}._buttonTitle_2dk7a_56{font-size:50px}._buttonSubtitle_2dk7a_57{font-size:22px}}@media only screen and (min-width:1250px){._contentButton_2dk7a_1{flex:1 0 550px}}@media only screen and (min-width:1440px){._contentButton_2dk7a_1{flex:1 0 600px}._buttonTitle_2dk7a_56{font-size:54px}._buttonSubtitle_2dk7a_57{font-size:24px}}._categoryContainer_1yxkk_1{width:100%;padding:0 10px;display:flex;flex-direction:column;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;text-align:center}@media only screen and (min-width:550px){._categoryContainer_1yxkk_1{padding:0 20px;flex-direction:row}}@media only screen and (min-width:1000px){._categoryContainer_1yxkk_1{padding:0}._categoryContainerHeader_1yxkk_25 h1{font-size:58px}}._description_z94kn_1{margin:.75em 0}._description_z94kn_1 h4{text-transform:uppercase;font-family:Montserrat,sans-serif}._group-title_12ylh_1>td:first-child{font-weight:700}._rate-group-child_12ylh_5>td:first-child{padding-left:20px}._rate-table_6wuu7_1{width:100%;border-spacing:0;white-space:pre-line}._rate-table_6wuu7_1 tr:nth-child(odd){background-color:#fed13666}._rate-table_6wuu7_1 tr:nth-child(2n){background-color:#ff852299}._rate-table_6wuu7_1 tr._background-darker_6wuu7_15{background-color:#ff852299}._rate-table_6wuu7_1 td{vertical-align:top;padding:2.5px 5px}._rate-table_6wuu7_1 td:first-of-type{width:50%;text-align:left}._rate-table_6wuu7_1 td:last-of-type{text-align:right}._group-title_6wuu7_33>td:first-child{font-weight:700}._rate-card_i5ys9_1{width:100%;max-width:700px;margin:auto;padding:1em;background-color:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;flex-shrink:0;align-self:flex-start;font-size:1em}._rate-card-heading_i5ys9_13{margin:0 0 1em}._rate-card-heading_i5ys9_13 h3{font-family:Montserrat,sans-serif;text-align:center;text-transform:uppercase;font-weight:700;font-size:22px}._rate-card_i5ys9_1 h3,._rate-card_i5ys9_1 h4{margin:0}@media(min-width:400px){._rate-card-heading_i5ys9_13 h3{font-size:24px}}@media(min-width:550px){._rate-card_i5ys9_1{font-size:1.15em;border-radius:9px}._rate-card-heading_i5ys9_13 h3{font-size:26px}}@media(min-width:900px){._rate-card_i5ys9_1{padding:25px;font-size:1.25em}._rate-card-heading_i5ys9_13 h3{font-size:30px}}._rates-container_123ct_1{display:flex;flex-direction:column;width:100%;padding:5px 0;gap:20px;background-color:#fffef0}@media(min-width:550px){._rates-container_123ct_1{padding:15px}}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@campphillip/widgets",
3
- "version": "4.0.7",
3
+ "version": "4.0.8",
4
4
  "description": "",
5
5
  "sideEffects": false,
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "dev": "vite",
9
- "build": "vite build"
9
+ "build": "vite build",
10
+ "serve": "python3 -m http.server 3000"
10
11
  },
11
12
  "author": "David Marquardt",
12
13
  "license": "ISC",
@@ -1,463 +0,0 @@
1
- import { c as L, j as e, S as _, P as D, a as G, b as B, i as O, f, d as W, R as y, r as l, e as C } from "./vendor.js";
2
- function et(t) {
3
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
4
- }
5
- const q = "m5ik5me8", M = "production", H = `https://${q}.api.sanity.io/v1/data/query/${M}`, b = {
6
- async fetch(t, n) {
7
- const r = JSON.stringify(n ? { query: t, params: n } : { query: t }), s = await fetch(H, { method: "POST", headers: { "Content-Type": "application/json" }, body: r }), a = await s.text().catch(() => "");
8
- if (!s.ok)
9
- try {
10
- const d = JSON.parse(a)?.error?.description ?? a ?? s.statusText;
11
- throw new Error(`Sanity fetch failed (${s.status}): ${d}`);
12
- } catch {
13
- throw new Error(`Sanity fetch failed (${s.status}): ${a || s.statusText}`);
14
- }
15
- let c;
16
- try {
17
- c = JSON.parse(a);
18
- } catch {
19
- throw new Error("Sanity returned a non-JSON response");
20
- }
21
- if (c?.error) throw new Error(`Sanity error: ${JSON.stringify(c.error)}`);
22
- return c?.result ?? null;
23
- }
24
- }, P = L({ projectId: q, dataset: M }), S = (t) => P.image(t), U = async () => await b.fetch("*[_type == 'banner']"), F = async () => await b.fetch(`*[_type == 'event'] | order(startDate asc)
25
- {
26
- name,
27
- image,
28
- imageType,
29
- startDate,
30
- endDate,
31
- shortDescription,
32
- buttons,
33
- isSummerCampEvent
34
- }`), J = async () => await b.fetch(`*[_type == 'board-event'] | order(startDate asc)
35
- {
36
- name,
37
- image,
38
- imageType,
39
- startDate,
40
- endDate,
41
- shortDescription,
42
- buttons,
43
- isSummerCampEvent
44
- }`), Y = async () => b.fetch("*[_type == 'category']|order(orderRank)"), z = async () => b.fetch("*[_type == 'rateCategory']|order(orderRank)"), Q = "_banner_1d1ur_1", E = {
45
- banner: Q
46
- }, K = {
47
- marks: {
48
- color: ({ value: t, children: n }) => /* @__PURE__ */ e.jsx(
49
- "span",
50
- {
51
- style: {
52
- color: t.hex
53
- },
54
- children: n
55
- }
56
- )
57
- }
58
- }, X = ({ image: t, text: n, url: r, loading: o }) => {
59
- const s = () => {
60
- r && (window.location.href = r);
61
- };
62
- return o ? /* @__PURE__ */ e.jsx("div", { className: E.banner, style: { display: "block" }, children: /* @__PURE__ */ e.jsx(_, { height: "100%", width: "100%" }) }) : /* @__PURE__ */ e.jsx(
63
- "span",
64
- {
65
- onClick: s,
66
- style: {
67
- cursor: r ? "pointer" : "",
68
- backgroundImage: `linear-gradient(
69
- rgba(0, 0, 0, 0.2),
70
- rgba(0, 0, 0, 0.2)
71
- ), url("${S(t).width(1440).url()}")`
72
- },
73
- className: E.banner,
74
- children: /* @__PURE__ */ e.jsx(D, { value: n, components: K })
75
- }
76
- );
77
- }, Z = "_bannerContainer_79bac_1", V = "_bannerApp_79bac_8", w = {
78
- bannerContainer: Z,
79
- bannerApp: V
80
- }, ee = ({ children: t }) => /* @__PURE__ */ e.jsx("div", { className: w.bannerContainer, children: /* @__PURE__ */ e.jsx("div", { className: w.bannerApp, children: t }) }), te = "_eventCard_17x4q_1", ne = "_eventCardBody_17x4q_13", se = "_image_17x4q_27", re = "_square_17x4q_34", ae = "_eventCardTitle_17x4q_39", oe = "_eventCardDate_17x4q_46", ce = "_eventCardDescription_17x4q_51", ie = "_eventButtons_17x4q_55", le = "_eventButton_17x4q_55", de = "_summerCamp_17x4q_140", m = {
81
- eventCard: te,
82
- eventCardBody: ne,
83
- image: se,
84
- square: re,
85
- eventCardTitle: ae,
86
- eventCardDate: oe,
87
- eventCardDescription: ce,
88
- eventButtons: ie,
89
- eventButton: le,
90
- summerCamp: de
91
- }, g = ({
92
- name: t,
93
- image: n,
94
- imageType: r,
95
- startDate: o,
96
- endDate: s,
97
- shortDescription: a,
98
- buttons: c,
99
- loading: p,
100
- containerStyle: d,
101
- isSummerCampEvent: x
102
- }) => {
103
- const v = me(o, s);
104
- return /* @__PURE__ */ e.jsx(G, { baseColor: "#dcdcdc", children: /* @__PURE__ */ e.jsxs(
105
- "div",
106
- {
107
- className: B(
108
- m.eventCard,
109
- x && m.summerCamp
110
- ),
111
- style: { ...d },
112
- children: [
113
- n ? /* @__PURE__ */ e.jsx(
114
- "img",
115
- {
116
- src: S(n).height(400).url(),
117
- className: B(
118
- m.image,
119
- r === "square" && m.square
120
- ),
121
- crossOrigin: "anonymous",
122
- alt: ""
123
- }
124
- ) : /* @__PURE__ */ e.jsx("div", { className: m.image, children: /* @__PURE__ */ e.jsx(
125
- _,
126
- {
127
- height: 400,
128
- style: { lineHeight: "normal" }
129
- }
130
- ) }),
131
- /* @__PURE__ */ e.jsxs("div", { className: m.eventCardBody, children: [
132
- /* @__PURE__ */ e.jsxs("div", { children: [
133
- /* @__PURE__ */ e.jsx("h3", { className: m.eventCardTitle, children: t || /* @__PURE__ */ e.jsx(_, {}) }),
134
- /* @__PURE__ */ e.jsx("div", { className: m.eventCardDate, children: v || /* @__PURE__ */ e.jsx(_, {}) })
135
- ] }),
136
- /* @__PURE__ */ e.jsx("div", { className: m.eventCardDescription, children: a ? /* @__PURE__ */ e.jsx(D, { value: a }) : /* @__PURE__ */ e.jsx(_, { count: 7 }) }),
137
- /* @__PURE__ */ e.jsx("div", { className: m.eventButtons, children: c ? c.map(({ url: i, text: u, _key: A }) => /* @__PURE__ */ e.jsx(
138
- "a",
139
- {
140
- href: i,
141
- className: m.eventButton,
142
- children: /* @__PURE__ */ e.jsx("div", { children: u })
143
- },
144
- A
145
- )) : p && /* @__PURE__ */ e.jsx(_, { className: m.eventButton }) })
146
- ] })
147
- ]
148
- }
149
- ) });
150
- };
151
- function me(t, n) {
152
- if (!t || !n) return null;
153
- const r = new Date(t), o = new Date(n);
154
- return O(r, o) ? f(r, "MMMM d") : W(r, o) ? f(r, "MMMM d") + " – " + f(o, "d") : f(r, "MMMM d") + " – " + f(o, "MMMM d");
155
- }
156
- const ue = "_eventsContainer_1fuij_1", he = "_eventsHeader_1fuij_11", pe = "_eventsList_1fuij_28", xe = "_eventWrapper_1fuij_34", _e = "_summerCampGroup_1fuij_38", ve = "_summerCampTitle_1fuij_50", je = "_empty_1fuij_60", h = {
157
- eventsContainer: ue,
158
- eventsHeader: he,
159
- eventsList: pe,
160
- eventWrapper: xe,
161
- summerCampGroup: _e,
162
- summerCampTitle: ve,
163
- empty: je
164
- }, R = ({
165
- events: t,
166
- loading: n,
167
- className: r,
168
- title: o = "What's going on at Camp?",
169
- headerActions: s,
170
- groupSummerCampEvents: a = !1
171
- }) => {
172
- const c = y.useMemo(() => {
173
- if (!t) return [];
174
- if (!a)
175
- return t.map((i, u) => ({ isSummerCamp: !1, events: [i], startIndex: u }));
176
- const d = t.filter((i) => i.isSummerCampEvent), x = t.findIndex((i) => i.isSummerCampEvent);
177
- if (d.length === 0)
178
- return t.map((i, u) => ({ isSummerCamp: !1, events: [i], startIndex: u }));
179
- let v = !1;
180
- return t.flatMap((i, u) => i.isSummerCampEvent ? v ? [] : (v = !0, [{ isSummerCamp: !0, events: d, startIndex: x }]) : [{ isSummerCamp: !1, events: [i], startIndex: u }]);
181
- }, [t, a]), p = c.findIndex((d) => d.isSummerCamp);
182
- return /* @__PURE__ */ e.jsxs("div", { className: `${h.eventsContainer} ${r || ""}`, children: [
183
- (o || s) && /* @__PURE__ */ e.jsxs("div", { className: h.eventsHeader, children: [
184
- o && /* @__PURE__ */ e.jsx("h1", { children: o }),
185
- s
186
- ] }),
187
- /* @__PURE__ */ e.jsx("div", { className: h.eventsList, children: n ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
188
- /* @__PURE__ */ e.jsx("div", { className: h.eventWrapper, children: /* @__PURE__ */ e.jsx(g, { loading: n }, "loading-1") }),
189
- /* @__PURE__ */ e.jsx("div", { className: h.eventWrapper, children: /* @__PURE__ */ e.jsx(g, { loading: n }, "loading-2") }),
190
- /* @__PURE__ */ e.jsx("div", { className: h.eventWrapper, children: /* @__PURE__ */ e.jsx(g, { loading: n }, "loading-3") })
191
- ] }) : c.length > 0 ? c.map((d, x) => {
192
- const v = x === p;
193
- return d.isSummerCamp ? /* @__PURE__ */ e.jsxs(
194
- "div",
195
- {
196
- className: h.summerCampGroup,
197
- id: v ? "summer-camp" : void 0,
198
- children: [
199
- /* @__PURE__ */ e.jsx("h2", { className: h.summerCampTitle, children: "🏕️ Summer Camp" }),
200
- d.events.map((i, u) => /* @__PURE__ */ l.createElement(
201
- g,
202
- {
203
- ...i,
204
- key: `${x}-${u}`,
205
- loading: n
206
- }
207
- ))
208
- ]
209
- },
210
- `group-${x}`
211
- ) : d.events.map((i, u) => /* @__PURE__ */ e.jsx("div", { className: h.eventWrapper, children: /* @__PURE__ */ e.jsx(
212
- g,
213
- {
214
- ...i,
215
- loading: n
216
- }
217
- ) }, `${x}-${u}`));
218
- }) : /* @__PURE__ */ e.jsxs("div", { className: h.empty, children: [
219
- /* @__PURE__ */ e.jsx("img", { src: "https://d2114hmso7dut1.cloudfront.net/customers/096355b6-1a03-11eb-a9c3-0614187498c1/sites/096f9d4e-1a03-11eb-b2dd-0614187498c1/files/67900ba0-5f83-11eb-9222-e3d4d8baf1a9/original/file.png?t=1611630366" }),
220
- "No upcoming events. Check back later!"
221
- ] }) })
222
- ] });
223
- }, ye = () => /* @__PURE__ */ e.jsxs(
224
- "svg",
225
- {
226
- xmlns: "http://www.w3.org/2000/svg",
227
- width: "24",
228
- height: "24",
229
- viewBox: "0 0 24 24",
230
- fill: "none",
231
- stroke: "currentColor",
232
- strokeWidth: "2",
233
- strokeLinecap: "round",
234
- strokeLinejoin: "round",
235
- className: "feather feather-calendar",
236
- children: [
237
- /* @__PURE__ */ e.jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
238
- /* @__PURE__ */ e.jsx("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
239
- /* @__PURE__ */ e.jsx("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
240
- /* @__PURE__ */ e.jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
241
- ]
242
- }
243
- ), fe = "_calendarButton_1m4jh_1", ge = {
244
- calendarButton: fe
245
- }, Ce = ({
246
- events: t,
247
- loading: n
248
- }) => {
249
- const r = /* @__PURE__ */ e.jsxs("a", { className: ge.calendarButton, href: "/calendar", children: [
250
- /* @__PURE__ */ e.jsx(ye, {}),
251
- "Check out our calendar"
252
- ] });
253
- return /* @__PURE__ */ e.jsx(
254
- R,
255
- {
256
- events: t,
257
- loading: n,
258
- title: "What's going on at Camp?",
259
- headerActions: r
260
- }
261
- );
262
- }, be = ({
263
- events: t,
264
- loading: n
265
- }) => /* @__PURE__ */ e.jsx(
266
- R,
267
- {
268
- events: t,
269
- loading: n,
270
- title: "Upcoming Board Events"
271
- }
272
- ), Ne = "_contentButton_2dk7a_1", Se = "_overlay_2dk7a_40", Be = "_buttonTitle_2dk7a_56", Ee = "_buttonSubtitle_2dk7a_57", j = {
273
- contentButton: Ne,
274
- "category-image": "_category-image_2dk7a_25",
275
- overlay: Se,
276
- buttonTitle: Be,
277
- buttonSubtitle: Ee
278
- }, we = ({
279
- title: t,
280
- subtitle: n,
281
- url: r,
282
- imageUrl: o,
283
- loading: s
284
- }) => s ? /* @__PURE__ */ e.jsx(
285
- "div",
286
- {
287
- className: j.contentButton,
288
- style: { display: "block" },
289
- children: /* @__PURE__ */ e.jsx(
290
- _,
291
- {
292
- height: "100%",
293
- width: "100%",
294
- style: { lineHeight: "normal" }
295
- }
296
- )
297
- }
298
- ) : /* @__PURE__ */ e.jsxs("a", { href: r, className: j.contentButton, children: [
299
- /* @__PURE__ */ e.jsx(
300
- "img",
301
- {
302
- src: o,
303
- alt: t,
304
- className: j["category-image"]
305
- }
306
- ),
307
- /* @__PURE__ */ e.jsxs("div", { className: j.overlay, children: [
308
- /* @__PURE__ */ e.jsx("div", { className: j.buttonTitle, children: t }),
309
- /* @__PURE__ */ e.jsx("div", { className: j.buttonSubtitle, children: n })
310
- ] })
311
- ] }), $e = "_categoryContainer_1yxkk_1", ke = {
312
- categoryContainer: $e
313
- }, Te = ({
314
- categories: t,
315
- loading: n
316
- }) => /* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsx("div", { className: ke.categoryContainer, children: t.length > 0 && t.map((r) => /* @__PURE__ */ e.jsx(
317
- we,
318
- {
319
- title: r.title,
320
- subtitle: r.subtitle,
321
- url: r.url,
322
- imageUrl: r.imageUrl,
323
- loading: n
324
- },
325
- r.title
326
- )) }) }), De = (t) => t.map((n) => ({
327
- ...n,
328
- imageUrl: S(n.image).width(800).url()
329
- })), qe = "_description_z94kn_1", Me = {
330
- description: qe
331
- }, Re = ({ rateDescription: t }) => {
332
- const { title: n, text: r } = t || {};
333
- return /* @__PURE__ */ e.jsxs("div", { className: Me.description, children: [
334
- n && /* @__PURE__ */ e.jsx("h4", { children: n }),
335
- r && /* @__PURE__ */ e.jsx("span", { children: r })
336
- ] });
337
- }, N = ({
338
- name: t,
339
- detail: n,
340
- value: r,
341
- className: o
342
- }) => /* @__PURE__ */ e.jsxs("tr", { className: o, children: [
343
- /* @__PURE__ */ e.jsx("td", { children: t }),
344
- n && /* @__PURE__ */ e.jsx("td", { children: n }),
345
- /* @__PURE__ */ e.jsx("td", { children: r })
346
- ] }), $ = {
347
- "group-title": "_group-title_12ylh_1",
348
- "rate-group-child": "_rate-group-child_12ylh_5"
349
- }, Ie = ({ rateGroup: t }) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
350
- /* @__PURE__ */ e.jsx(N, { name: t.name, className: $["group-title"] }),
351
- t.childRates.map((n) => /* @__PURE__ */ e.jsx(
352
- N,
353
- {
354
- name: n.name,
355
- value: n.cost,
356
- className: $["rate-group-child"]
357
- },
358
- n.name
359
- ))
360
- ] }), k = {
361
- "rate-table": "_rate-table_6wuu7_1",
362
- "group-title": "_group-title_6wuu7_33"
363
- }, Ae = (t) => {
364
- const { rateTable: n } = t, r = n.some((a) => a._type === "rateGroup"), o = n.some((a) => a._type === "rate" && a.detail), s = n.map((a) => {
365
- if (a._type === "rate")
366
- return o && (a = {
367
- detail: a.detail ?? " ",
368
- ...a
369
- }), /* @__PURE__ */ e.jsx(
370
- N,
371
- {
372
- name: a.name,
373
- detail: a.detail,
374
- value: a.cost,
375
- className: r ? k["group-title"] : ""
376
- },
377
- a.name
378
- );
379
- if (a._type === "rateGroup")
380
- return /* @__PURE__ */ e.jsx(Ie, { rateGroup: a }, a.name);
381
- });
382
- return /* @__PURE__ */ e.jsx("table", { className: k["rate-table"], children: /* @__PURE__ */ e.jsx("tbody", { children: s }) });
383
- }, T = {
384
- "rate-card": "_rate-card_i5ys9_1",
385
- "rate-card-heading": "_rate-card-heading_i5ys9_13"
386
- }, Le = (t) => {
387
- const { heading: n, rates: r } = t, o = r.reduce((s, a) => {
388
- if (a._type === "rateDescription")
389
- return [...s, a];
390
- {
391
- const c = s[s.length - 1];
392
- return Array.isArray(c) ? (c.push(a), s) : [...s, [a]];
393
- }
394
- }, []);
395
- return /* @__PURE__ */ e.jsxs("div", { className: T["rate-card"], children: [
396
- /* @__PURE__ */ e.jsx("div", { className: T["rate-card-heading"], children: /* @__PURE__ */ e.jsx("h3", { children: n }) }),
397
- o.map((s, a) => Array.isArray(s) ? /* @__PURE__ */ e.jsx(Ae, { rateTable: s }, a) : /* @__PURE__ */ e.jsx(Re, { rateDescription: s }, a))
398
- ] });
399
- }, I = ({ type: t }) => {
400
- const [n, r] = l.useState([]), [o, s] = l.useState(!0);
401
- return l.useEffect(() => {
402
- async function a() {
403
- const c = t === "events" ? F : J;
404
- try {
405
- const p = await c();
406
- r(p);
407
- } catch (p) {
408
- console.error(p);
409
- } finally {
410
- s(!1);
411
- }
412
- }
413
- a();
414
- }, [t]), t === "events" ? /* @__PURE__ */ e.jsx(Ce, { events: n, loading: o }) : /* @__PURE__ */ e.jsx(be, { events: n, loading: o });
415
- }, Ge = document.getElementById("camp-events"), Oe = C.createRoot(Ge);
416
- Oe.render(
417
- /* @__PURE__ */ e.jsx(y.StrictMode, { children: /* @__PURE__ */ e.jsx(I, { type: "events" }) })
418
- );
419
- const We = document.getElementById("board-events"), He = C.createRoot(We);
420
- He.render(
421
- /* @__PURE__ */ e.jsx(y.StrictMode, { children: /* @__PURE__ */ e.jsx(I, { type: "board-events" }) })
422
- );
423
- const Pe = () => {
424
- const [t, n] = l.useState([]), [r, o] = l.useState(!0);
425
- return l.useEffect(() => {
426
- U().then((s) => n(s)).catch((s) => console.log(s)).finally(() => o(!1));
427
- }, []), /* @__PURE__ */ e.jsx(ee, { children: t.map((s) => /* @__PURE__ */ l.createElement(X, { ...s, loading: r, key: s._id })) });
428
- }, Ue = document.getElementById("camp-banners"), Fe = C.createRoot(Ue);
429
- Fe.render(
430
- /* @__PURE__ */ e.jsx(y.StrictMode, { children: /* @__PURE__ */ e.jsx(Pe, {}) })
431
- );
432
- const Je = () => {
433
- const [t, n] = l.useState([]), [r, o] = l.useState(!0);
434
- return l.useEffect(() => {
435
- Y().then(
436
- (s) => n(De(s))
437
- ).catch((s) => console.log(s)).finally(() => o(!1));
438
- }, []), /* @__PURE__ */ e.jsx(Te, { categories: t, loading: r });
439
- }, Ye = document.getElementById("camp-categories"), ze = C.createRoot(Ye);
440
- ze.render(
441
- /* @__PURE__ */ e.jsx(y.StrictMode, { children: /* @__PURE__ */ e.jsx(Je, {}) })
442
- );
443
- const Qe = {
444
- "rates-container": "_rates-container_123ct_1"
445
- }, Ke = () => {
446
- const [t, n] = l.useState([]), [r, o] = l.useState(!0);
447
- return l.useEffect(() => {
448
- z().then((s) => n(s)).catch((s) => console.log(s)).finally(() => o(!1));
449
- }, []), /* @__PURE__ */ e.jsx("div", { className: Qe["rates-container"], children: t.map((s) => /* @__PURE__ */ e.jsx(
450
- Le,
451
- {
452
- heading: s.name,
453
- rates: s.rates
454
- },
455
- s.name
456
- )) });
457
- }, Xe = document.getElementById("camp-rates"), Ze = C.createRoot(Xe);
458
- Ze.render(
459
- /* @__PURE__ */ e.jsx(y.StrictMode, { children: /* @__PURE__ */ e.jsx(Ke, {}) })
460
- );
461
- export {
462
- et as g
463
- };