Archive: Namaste PHP AMQP framework v1.0 (2017-2020)

952 days continuous production uptime, 40k+ tp/s single node.
Original corpo Bitbucket history not included — clean archive commit.
This commit is contained in:
2026-04-05 09:49:30 -07:00
commit 373ebc8c93
1284 changed files with 409372 additions and 0 deletions

View File

@@ -0,0 +1,337 @@
/* ==========================================================================
$BASE-DATE-PICKER
========================================================================== */
/**
* The picker box.
*/
.picker__box {
padding: 0;
border-radius: 2px;
overflow: hidden;
/**
* The header containing the month and year stuff.
*/
.picker__header {
text-align: center;
position: relative;
margin-bottom: 20px;
select {
display: inline-block !important;
}
.picker__date-display {
text-align: center;
background-color: $datepicker-date-bg;
@extend .white-text;
padding-bottom: 15px;
font-weight: 300;
margin-bottom: 1rem;
.picker__weekday-display {
background-color: $datepicker-weekday-bg;
padding: 10px;
font-weight: 200;
letter-spacing: .5;
font-size: 1rem;
margin-bottom: 15px;
}
.picker__month-display {
text-transform: uppercase;
font-size: 2rem;
}
.picker__day-display {
font-size: 4.5rem;
font-weight: 400;
}
.picker__year-display {
font-size: 1.8rem;
color: $datepicker-year;
}
}
/**
* The month and year labels.
*/
.picker__month,
.picker__year {
display: inline-block;
margin-left: .25em;
margin-right: .25em;
}
/**
* The month and year selectors.
*/
.picker__select--month,
.picker__select--year {
height: 2em;
padding: 0;
margin-left: .25em;
margin-right: .25em;
display: inline-block;
&:focus {
border-color: $datepicker-focus;
}
}
.picker__select--year {
width: 30%;
}
// Modified
.picker__select--month.browser-default {
display: inline;
@extend .white;
width: 40%;
}
.picker__select--year.browser-default {
display: inline;
@extend .white;
width: 25%;
}
/**
* The month navigation buttons.
*/
.picker__nav--prev,
.picker__nav--next {
position: absolute;
padding: .5em 1.55em;
width: 1em;
height: 1em;
box-sizing: content-box;
bottom: 0;
&:hover {
cursor: pointer;
color: #000000;
background: $datepicker-selected-outfocus;
}
&:before {
content: " ";
border-top: .5em solid transparent;
border-bottom: .5em solid transparent;
border-right: 0.75em solid #676767;
width: 0;
height: 0;
display: block;
margin: 0 auto;
}
}
.picker__nav--prev {
left: -1em;
padding-right: 1.25em;
}
.picker__nav--next {
right: -1em;
padding-left: 1.25em;
&:before {
border-right: 0;
border-left: 0.75em solid #676767;
}
}
.picker__nav--disabled,
.picker__nav--disabled:hover,
.picker__nav--disabled:before,
.picker__nav--disabled:before:hover {
cursor: default;
background: none;
border-right-color: #f5f5f5;
border-left-color: #f5f5f5;
}
}
/**
* The calendar table of dates
*/
.picker__table {
text-align: center;
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
font-size: 1rem;
width: 100%;
margin-top: .75em;
margin-bottom: .5em;
th, td {
text-align: center;
}
td {
margin: 0;
padding: 0;
}
/**
* The weekday labels
*/
.picker__weekday {
width: 14%;
font-size: .9em;
padding-bottom: .25em;
color: #999999;
font-weight: 500;
/* Increase the spacing a tad */
@media (min-height: $pickerweekday-padb-breakpoint) {
padding-bottom: .5em;
}
}
/**
* The days on the calendar
*/
.picker__day--today {
position: relative;
letter-spacing: -.3;
padding: .75rem 0;
font-weight: 400;
border: 1px solid transparent;
}
.picker__day.picker__day--today {
color: $datepicker-selected;
}
.picker__day--disabled{
&:before {
border-top-color: #aaaaaa;
}
}
.picker__day--infocus{
color: #595959;
letter-spacing: -.3;
padding: .75rem 0;
font-weight: 400;
border: 1px solid transparent;
&:hover {
cursor: pointer;
color: #000;
font-weight: 500;
}
}
.picker__day--outfocus {
display: none;
padding: .75rem 0;
@extend .white-text;
&:hover {
cursor: pointer;
color: #dddddd;
font-weight: 500;
}
}
.picker__day--highlighted:hover,
.picker--focused .picker__day--highlighted {
cursor: pointer;
}
.picker__day--selected,
.picker__day--selected:hover,
.picker--focused {
// Circle background
border-radius: 50%;
@include transform(scale(.9));
background-color: $datepicker-selected;
&.picker__day--outfocus {
background-color: $datepicker-selected-outfocus;
}
@extend .white-text;
@extend .z-depth-1-half;
}
.picker__day--disabled,
.picker__day--disabled:hover,
.picker--focused {
background: #f5f5f5;
border-color: #f5f5f5;
color: #dddddd;
cursor: default;
}
.picker__day--highlighted.picker__day--disabled,
.picker__day--highlighted.picker__day--disabled:hover {
background: #bbbbbb;
}
}
/**
* The footer containing the "today", "clear", and "close" buttons.
*/
.picker__footer {
text-align: right;
padding: 5px 10px;
display: flex;
align-items: center;
justify-content: space-between;
.picker__button--today,
.picker__button--clear,
.picker__button--close {
border: 1px solid #ffffff;
background: #ffffff;
font-size: .8em;
padding: 1rem 0 0.7rem 0;
font-weight: bold;
width: 33%;
display: inline-block;
vertical-align: bottom;
text-transform: uppercase;
&:hover {
cursor: pointer;
color: #000000;
background: #b1dcfb;
border-bottom-color: #b1dcfb;
}
&:focus {
background: #b1dcfb;
border-color: $datepicker-focus;
outline: none;
}
&:before {
position: relative;
display: inline-block;
height: 0;
}
}
.picker__button--today,
.picker__button--clear{
&:before {
content: " ";
margin-right: .45em;
}
}
.picker__button--today{
&:before {
top: -0.05em;
width: 0;
border-top: 0.66em solid #0059bc;
border-left: .66em solid transparent;
}
}
.picker__button--clear{
&:before {
top: -0.25em;
width: .66em;
border-top: 3px solid #ee2200;
}
}
.picker__button--close{
&:before {
content: "\D7";
top: -0.1em;
vertical-align: top;
font-size: 1.1em;
margin-right: .35em;
color: #777777;
}
}
.picker__button--today[disabled],
.picker__button--today[disabled]:hover {
background: #f5f5f5;
border-color: #f5f5f5;
color: #dddddd;
cursor: default;
}
.picker__button--today[disabled]:before {
border-top-color: #aaaaaa;
}
}
}
/* ==========================================================================
CUSTOM MATERIALIZE STYLES
========================================================================== */
.picker__calendar-container {
padding: 0 1rem;
thead {
border: none;
}
}

View File

@@ -0,0 +1,146 @@
/* ==========================================================================
$BASE-PICKER
========================================================================== */
/**
* Note: the root picker element should *NOT* be styled more than what's here.
*/
/**
* The picker input element.
*/
.picker__input {
cursor: default;
}
/**
* When the picker is opened, the input element is "activated".
*/
.picker__input.picker__input--active {
border-color: #0089ec;
}
/**
* Note: the root picker element should *NOT* be styled more than what's here.
*/
.picker {
font-size: 16px;
text-align: center;
line-height: 1.2;
color: #000000;
position: absolute;
z-index: 10000;
user-select: none;
/**
* The holder is the only "scrollable" top-level container element. The holder should overlay the entire screen.
*/
.picker__holder {
width: 100%;
overflow-y: auto;
overflow-scrolling: touch;
position: fixed;
transition: background 0.15s ease-out, top 0s 0.15s;
backface-visibility: hidden;
}
/*!
* Default mobile-first, responsive styling for pickadate.js
* Demo: http://amsul.github.io/pickadate.js
*/
/**
* Note: the root picker element should *NOT* be styled more than what's here.
*/
/**
* Make the holder and frame fullscreen.
*/
.picker__holder,
.picker__frame {
bottom: 0;
left: 0;
right: 0;
top: 100%;
}
/**
* The frame that bounds the box contents of the picker.
*/
.picker__frame {
position: absolute;
margin: 0 auto;
min-width: 256px;
max-width: 325px;
// picker width
width: 300px;
max-height: 350px;
filter: alpha(opacity=0);
opacity: 0;
transition: all 0.15s ease-out;
@media (min-height: $pickerframe-wrap-box-breakpoint) {
overflow: visible;
top: auto;
bottom: -100%;
max-height: 80%;
}
@media (min-height: $pickerframe-mb-breakpoint) {
margin-bottom: 7.5%;
}
/**
* The wrapper sets the stage to vertically align the box contents.
*/
.picker__wrap {
display: table;
width: 100%;
height: 100%;
@media (min-height: $pickerframe-wrap-box-breakpoint) {
display: block;
}
}
}
/**
* The box contains all the picker contents.
*/
.picker__box {
background: #ffffff;
display: table-cell;
vertical-align: middle;
@media (min-height: $pickerframe-wrap-box-breakpoint) {
display: block;
border: 1px solid #777777;
border-top-color: #898989;
border-bottom-width: 0;
border-radius: 5px 5px 0 0;
box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);
}
}
}
/**
* When the picker opens...
*/
.picker--opened {
.picker__holder {
top: 0;
background: transparent;
zoom: 1;
background: rgba(0, 0, 0, 0.32);
transition: background 0.15s ease-out;
}
.picker__frame {
top: 0;
filter: alpha(opacity=100);
opacity: 1;
@media (min-height: $pickerframe-pos-breakpoint) {
top: 10%;
bottom: auto;
}
}
}
/**
* For `large` screens, transform into an inline picker.
*/
/* ==========================================================================
CUSTOM MATERIALIZE STYLES
========================================================================== */
.picker__input.picker__input--active {
border-color: color("blue", "lighten-5");
}

View File

@@ -0,0 +1,419 @@
/* ==========================================================================
$BASE-TIME-PICKER
========================================================================== */
/**
* The list of times.
*/
.picker__list {
list-style: none;
padding: 0.75em 0 4.2em;
margin: 0;
}
/**
* The times on the clock.
*/
.picker__list-item {
border-bottom: 1px solid #dddddd;
border-top: 1px solid #dddddd;
margin-bottom: -1px;
position: relative;
@extend .white;
padding: .75em 1.25em;
@media (min-height: $timepicker-pickerlistitem-breakpoint) {
padding: .5em 1em;
}
/* Hovered time */
&:hover {
cursor: pointer;
@extend .black;
background: #b1dcfb;
border-color: #0089ec;
z-index: 10;
}
}
/* Highlighted and hovered/focused time */
.picker__list-item--highlighted {
border-color: #0089ec;
z-index: 10;
}
.picker__list-item--highlighted:hover,
.picker--focused .picker__list-item--highlighted {
cursor: pointer;
color: #000000;
background: #b1dcfb;
}
/* Selected and hovered/focused time */
.picker__list-item--selected,
.picker__list-item--selected:hover,
.picker--focused .picker__list-item--selected {
background: #0089ec;
@extend .white-text;
z-index: 10;
}
/* Disabled time */
.picker__list-item--disabled,
.picker__list-item--disabled:hover,
.picker--focused .picker__list-item--disabled {
background: #f5f5f5;
border-color: #f5f5f5;
color: #dddddd;
cursor: default;
border-color: #dddddd;
z-index: auto;
}
/**
* The clear button
*/
.picker--time {
.picker__button--clear {
display: block;
width: 80%;
margin: 1em auto 0;
padding: 1em 1.25em;
background: none;
border: 0;
font-weight: 500;
font-size: .67em;
text-align: center;
text-transform: uppercase;
color: #666;
&:hover,
&:focus {
color: #000000;
background: #b1dcfb;
background: #ee2200;
border-color: #ee2200;
cursor: pointer;
@extend .white-text;
outline: none;
&:before {
@extend .white-text;
}
}
&:before {
top: -0.25em;
color: #666;
font-size: 1.25em;
font-weight: bold;
}
}
}
/* ==========================================================================
$DEFAULT-TIME-PICKER
========================================================================== */
/**
* The frame the bounds the time picker.
*/
.picker--time .picker__frame {
min-width: 256px;
max-width: 320px;
}
/**
* The picker box.
*/
.picker--time .picker__box {
font-size: 1em;
background: #f2f2f2;
padding: 0;
@media (min-height: $timepicker-pickerbox-breakpoint) {
margin-bottom: 5em;
}
}
/*!
* ClockPicker v0.0.7 for jQuery (http://weareoutman.github.io/clockpicker/)
* Copyright 2014 Wang Shenwei.
* Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
*
* Further modified
* Copyright 2015 Ching Yaw Hao.
*
* Bootstrap v3.1.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.picker__date-display {
text-align: center;
background-color: $datepicker-date-bg;
@extend .white-text;
padding-bottom: 15px;
font-weight: 300;
margin-bottom: 1rem;
.clockpicker-display {
vertical-align: middle;
display: inline-block;
margin: auto;
height: 85px;
font-size: 70px;
padding: 10px;
padding-bottom: 0px;
color: #b2dfdb;
.clockpicker-display-column {
float: left;
.clockpicker-span-hours.text-primary, .clockpicker-span-minutes.text-primary, #click-am.text-primary, #click-pm.text-primary {
animation-name: pulse;
@extend .white-text;
}
#click-am, #click-pm {
cursor: pointer;
}
}
.clockpicker-display-am-pm {
padding-left: 5px;
vertical-align: bottom;
height: 85px;
.clockpicker-span-am-pm {
display: inline-block;
font-size: 23px;
line-height: 25px;
color: #b2dfdb;
}
}
.clockpicker-span-hours, .clockpicker-span-minutes {
animation-duration: 500ms;
animation-fill-mode: both;
transition: color 500ms;
cursor: pointer;
}
}
}
.clockpicker-display {
text-align: center;
vertical-align: middle;
display: inline-block;
margin: auto;
height: 85px;
font-size: 70px;
padding: 10px;
padding-bottom: 0px;
color: #b2dfdb;
.clockpicker-display-column {
float: left;
.clockpicker-span-hours.text-primary, .clockpicker-span-minutes.text-primary, #click-am.text-primary, #click-pm.text-primary {
animation-name: pulse;
@extend .white-text;
}
#click-am, #click-pm {
cursor: pointer;
}
}
.clockpicker-display-am-pm {
padding-left: 5px;
vertical-align: bottom;
height: 85px;
.clockpicker-span-am-pm {
display: inline-block;
font-size: 23px;
line-height: 25px;
color: #b2dfdb;
}
}
.clockpicker-span-hours, .clockpicker-span-minutes {
animation-duration: 500ms;
animation-fill-mode: both;
transition: color 500ms;
cursor: pointer;
}
}
@keyframes pulse {
from {
transform: scale3d(1, 1, 1);
}
50% {
transform: scale3d(1.1, 1.1, 1.1);
}
to {
transform: scale3d(1, 1, 1);
}
}
.clockpicker-moving {
cursor: move;
}
.clockpicker-plate {
background-color: #eeeeee;
border-radius: 50%;
width: 270px;
height: 270px;
overflow: visible;
position: relative;
margin: auto;
margin-top: 20px;
/* Disable text selection highlighting. Thanks to Hermanya */
user-select: none;
.clockpicker-canvas,
.clockpicker-dial {
width: 270px;
height: 270px;
position: absolute;
left: -1px;
top: -1px;
}
.clockpicker-dial {
transition: transform 350ms, opacity 350ms;
.clockpicker-tick {
border-radius: 50%;
color: #666;
line-height: 40px;
text-align: center;
width: 40px;
height: 40px;
position: absolute;
cursor: pointer;
transition: background-color 300ms;
background-color: rgba(0, 150, 136, 0);
&.active,
&:hover {
background-color: rgba(0, 150, 136, 0.25);
}
}
}
.clockpicker-minutes {
visibility: hidden;
}
.clockpicker-dial-out {
opacity: 0;
}
.clockpicker-hours.clockpicker-dial-out {
transform: scale(1.2, 1.2);
}
.clockpicker-minutes.clockpicker-dial-out {
transform: scale(.8, .8);
}
}
.clockpicker-canvas {
transition: opacity 300ms;
line {
stroke: rgba(0, 150, 136, 0.25);
stroke-width: 1;
}
}
.clockpicker-canvas-out {
opacity: 0.25;
}
.clockpicker-canvas-bearing {
stroke: none;
fill: rgba(0, 77, 64, 0.75);
}
.clockpicker-canvas-fg {
stroke: none;
fill: rgba(0, 77, 64, 0);
&.active {
fill: rgba(0, 77, 64, 0.5);
}
}
.clockpicker-canvas-bg {
stroke: none;
fill: rgba(0, 150, 136, 0.25);
}
.clockpicker-canvas-bg-trans {
fill: rgba(0, 150, 136, 0.25);
}
.clockpicker-am-pm-block{
margin-top: -10px;
width: 100%;
height: 50px;
.clockpicker-button.am-button {
height: 45px;
width: 45px;
float: left;
}
.clockpicker-button.pm-button {
height: 45px;
width: 45px;
float: right;
}
}
.btn-floating.btn-flat {
padding: 0;
background: $primary-color;
&:hover {
box-shadow: none;
}
&:hover,
&:focus {
background-color: lighten( $primary-color, 5%)!important;
}
&.active {
background-color: darken( $primary-color, 20%)!important;
@extend .z-depth-1-half;
}
}
.picker__footer {
.clockpicker-button {
margin: auto;
margin-top: 15px;
background-color: transparent;
text-transform: uppercase;
&:focus {
background-color: transparent;
}
&:active {
background-color: rgba(0, 150, 136, 0.25);
}
}
}
.darktheme {
.picker__box {
background-color: #212121;
.picker__date-display {
background-color: transparent;
.clockpicker-display {
@extend .white-text;
.clockpicker-span-am-pm {
@extend .white-text;
}
}
}
.picker__calendar-container{
.clockpicker-plate {
background-color: transparent;
.clockpicker-tick {
@extend .white-text;
background-color: rgba(255, 64, 129, 0);
&.active, &:hover {
background-color: rgba(255, 64, 129, 0.25);
}
}
.clockpicker-canvas line {
stroke: rgba(255, 64, 129, 0.25);
}
.clockpicker-canvas-bearing {
fill: white;
}
.clockpicker-canvas-fg {
fill: rgba(255, 64, 129, 0);
&.active {
fill: rgba(255, 64, 129, 0.5);
}
}
.clockpicker-canvas-bg {
fill: rgba(255, 64, 129, 0.25);
}
.clockpicker-canvas-bg-trans {
fill: rgba(255, 64, 129, 0.25);
}
}
}
.picker__footer{
button {
@extend .white-text;
}
.clockpicker-button:active {
background-color: rgba(255, 64, 129, 0.25);
}
}
}
}