bobrilstrap
Version:
Bobril wrapper for bootstrap 5
20 lines (15 loc) • 824 B
text/typescript
import * as b from "bobril";
import { createFilledDictionary } from "../../utils/dict";
import { Breakpoint, breakpoints } from "../layouts/breakpoint";
export type Order = 0 | 1 | 2 | 3 | 4 | 5 | "first" | "last";
export const orderScale: Order[] = [0, 1, 2, 3, 4, 5, "first", "last"];
const ordersOnAll = createFilledDictionary(orderScale.map((orderValue) => [orderValue, b.styleDef(`order-${orderValue}`)]));
const ordersOnBreakpoint = createFilledDictionary(
breakpoints.map((breakpoint) => [
breakpoint,
createFilledDictionary(orderScale.map((orderNo) => [orderNo, b.styleDef(`order-${breakpoint}-${orderNo}`)])),
])
);
export function order(orderNo: Order, breakpoint?: Breakpoint): b.IBobrilStyle {
return breakpoint ? ordersOnBreakpoint(breakpoint)(orderNo) : ordersOnAll(orderNo);
}