@olenbetong/synergi-react 1.0.6 → 2.1.0
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/esm/ob.react.css +221 -174
- package/dist/esm/ob.react.js +223 -104
- package/dist/esm/ob.react.min.css +1 -1
- package/dist/esm/ob.react.min.css.map +3 -3
- package/dist/esm/ob.react.min.js +1 -1
- package/dist/esm/ob.react.min.js.map +4 -4
- package/dist/iife/ob.react.css +221 -174
- package/dist/iife/ob.react.js +223 -104
- package/dist/iife/ob.react.min.css +1 -1
- package/dist/iife/ob.react.min.css.map +3 -3
- package/dist/iife/ob.react.min.js +1 -1
- package/dist/iife/ob.react.min.js.map +4 -4
- package/dist/styles/styles.css +1 -1
- package/dist/styles/styles.css.map +1 -1
- package/es/Checkbox/index.css +1 -1
- package/es/Checkbox/index.d.ts +11 -0
- package/es/Checkbox/index.js +7 -5
- package/es/ColorCard/index.d.ts +5 -2
- package/es/ColorCard/index.js +6 -0
- package/es/DateNavigator/index.d.ts +8 -3
- package/es/DateNavigator/index.js +99 -27
- package/es/LinkedCardList/index.css +1 -1
- package/es/LinkedCardList/index.d.ts +2 -2
- package/es/LinkedCardList/index.js +2 -2
- package/es/ProgressBar/index.css +1 -1
- package/es/SplitContainer/index.d.ts +3 -1
- package/es/SplitContainer/index.js +45 -14
- package/es/ValueToggleGroup/index.d.ts +18 -0
- package/es/ValueToggleGroup/index.js +12 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +8 -8
- package/es/index.js +3 -3
- package/package.json +88 -90
- package/src/Checkbox/index.scss +12 -5
- package/src/Checkbox/index.tsx +23 -6
- package/src/ColorCard/{index.scss → index.css} +50 -59
- package/src/ColorCard/index.tsx +21 -9
- package/src/DateNavigator/index.css +96 -0
- package/src/DateNavigator/index.tsx +128 -36
- package/src/LinkedCardList/index.scss +8 -1
- package/src/LinkedCardList/index.tsx +2 -2
- package/src/ProgressBar/index.scss +2 -2
- package/src/Spinner/{index.scss → index.css} +13 -10
- package/src/Spinner/index.tsx +1 -1
- package/src/SplitContainer/index.tsx +71 -15
- package/src/ValueToggleGroup/index.css +79 -0
- package/src/ValueToggleGroup/index.tsx +52 -0
- package/src/index.scss +4 -3
- package/src/index.ts +12 -12
- package/LICENSE +0 -21
- package/es/ColorCard/index.css +0 -1
- package/es/DateNavigator/index.css +0 -1
- package/es/Spinner/index.css +0 -1
- package/es/ValueToggle/index.css +0 -1
- package/es/ValueToggle/index.d.ts +0 -18
- package/es/ValueToggle/index.js +0 -38
- package/src/DateNavigator/index.scss +0 -60
- package/src/ValueToggle/index.scss +0 -50
- package/src/ValueToggle/index.tsx +0 -75
package/es/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ObCheckbox-root{--check-width: 2rem;--bg-color: var(--brand-dark, rgba(42, 65, 50, 0.5));--bg-color-hover: var(--brand-primary, rgba(42, 65, 50, 0.8));--bg-color-selected: var(--brand-light);display:inline-block;height:var(--check-width);margin-bottom:0}.ObCheckbox-root:focus-within .ObCheckbox-box{border:.1rem solid #000}.ObCheckbox-root.Ob-disabled{--bg-color: rgba(150, 150, 150, 0.5);--bg-color-hover: var(--bg-color)}.ObCheckbox-box{position:relative;background:var(--bg-color);transition:background 300ms ease;overflow:hidden;border-radius:calc(var(--check-width)/15);height:var(--check-width);width:var(--check-width)}.ObCheckbox-box:hover{background:var(--bg-color-hover)}.ObCheckbox-label{position:relative;margin-bottom:0;overflow:hidden}.ObCheckbox-label:focus{outline:none}.ObCheckbox-mark{color:#fff;display:inline-block;font-size:calc(var(--check-width)*.4);left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition:all 300ms ease-in-out;transition-delay:0ms;transform:translate(-50%, -50%) scale(6)}.ObCheckbox-input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ObCheckbox-input:focus{outline:none}.check_Label{margin-bottom:0;flex-grow:1}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label{animation:animOn 800ms 1 forwards}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label .ObCheckbox-box{background:var(--bg-color-selected)}.ObCheckbox-input:checked+.ObCheckbox-label .ObCheckbox-box .ObCheckbox-mark{transform:translate(-50%, -50%) scale(1);transition-delay:200ms;opacity:1}.ObCheckbox-root.Ob-disabled .ObCheckbox-box{cursor:not-allowed}@keyframes animOn{40%{transform:scaleY(0.4) scaleX(2)}50%{transform:scaleY(1.2) scaleX(0.6)}60%{transform:scaleY(0.8) scaleX(1.4)}70%{transform:scaleY(1.1) scaleX(0.9)}100%{transform:scaleY(1) scaleX(1)}}.ObColorCard-root{--bg-color-border: black;--bg-color-main: white;--bg-size: 0.75rem;--card-color: rgb(0, 0, 0);align-items:stretch;background-image:linear-gradient(to right, hsl(186, 72%, 24%), hsl(186, 72%, 24%) 0.75rem, white 0.75rem, white);background-image:linear-gradient(to right, var(--bg-color-border), var(--bg-color-border) var(--bg-size), var(--bg-color-main) var(--bg-size), var(--bg-color-main));border-radius:.25rem;box-shadow:0 1px 12px rgba(0,0,0,.15),0 1px 6px rgba(0,0,0,.25);color:#666;cursor:pointer;display:flex;font-family:"Variable Bahnschrift","Bahnschrift","Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;min-height:10rem;overflow:hidden;transition:all ease-in-out 300ms}.ObColorCard-root:nth-of-type(5n + 1){--bg-color-border: rgb(178, 108, 190)}.ObColorCard-root:nth-of-type(5n + 2){--bg-color-border: rgb(79, 164, 61)}.ObColorCard-root:nth-of-type(5n + 3){--bg-color-border: rgb(246, 170, 23)}.ObColorCard-root:nth-of-type(5n + 4){--bg-color-border: rgb(218, 93, 83)}.ObColorCard-root:nth-of-type(5n + 5){--bg-color-border: rgb(23, 162, 184)}.ObColorCard-root:hover,.ObColorCard-root:focus{--bg-color-main: #f5f5f5;box-shadow:0 3px 18px rgba(0,0,0,.15),0 3px 12px rgba(0,0,0,.25);color:#666;text-decoration:none}@media screen and (min-width: 48rem){.ObColorCard-root{font-size:1.2rem}}.ObColorCard-column{display:flex;flex:1 1 100%;flex-direction:column;justify-content:space-between;margin:1rem 0;overflow:hidden;padding:.5rem 1.5rem .5rem 1rem;text-overflow:ellipsis}.ObColorCard-column:first-child{margin-left:.75rem;margin-left:var(--bg-size)}.ObColorCard-column.ObColorCard-minor{border-right:1px solid #e3e3e3;flex:0 0 4rem;transition:margin ease-in-out 300ms}@media screen and (min-width: 48rem){.ObColorCard-column.ObColorCard-minor{flex:0 0 8rem}}.ObColorCard-detailLabel{color:#ccc;font-size:.8rem;text-transform:uppercase}.ObColorCard-detail:not(:last-child){margin-right:1.5rem}.ObColorCard-detail.ObColorCard-primary,.ObColorCard-detail.ObColorCard-primary .ObColorCard-detailValue{font-size:1.25rem;font-weight:300}.ObColorCard-detail.ObColorCard-primary .ObColorCard-detailValue{color:unset}@media screen and (min-width: 48rem){.ObColorCard-detail{font-size:1rem}}.ObColorCard-detailValue{color:#999}.ObColorCard-label{position:relative;padding-left:1.5rem}.ObColorCard-label:not(:last-child){margin-bottom:1rem}.ObColorCard-label:not(:last-child)::after{content:"";position:absolute;width:.2rem;height:calc(100% + 1rem);border-left:.2rem dotted #666;left:.25rem;top:.5rem;z-index:0}.ObColorCard-label::before{background:#fff;border:.2rem solid hsl(186,72%,24%);border:.2rem solid var(--bg-color-border);border-radius:50%;content:"";display:block;height:.75rem;left:0;position:absolute;top:.3rem;width:.75rem;z-index:1}.ObDateNavigator-icon{display:inline-block}.ObDateNavigator-icon svg{width:.625em;position:relative;top:-1px}.ObDateNavigator-root{background-color:hsl(220,20%,96%);background-color:var(--block-header-color-bg);display:flex;font-size:1rem}.ObDateNavigator-arrow{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-appearance:button;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;align-items:center;flex:0 0 3rem;justify-content:center;height:3rem;cursor:pointer;text-align:center}.ObDateNavigator-arrow::-moz-focus-inner{border:0;padding:0}.ObDateNavigator-arrow:hover{background-color:#e3e3e3;background-color:var(--block-header-button-hover)}.ObDateNavigator-arrowLeft{border-right:1px solid #ddd;order:1}.ObDateNavigator-arrowRight{border-left:1px solid #ddd;order:3}.ObDateNavigator-date{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;order:2;height:3rem;text-align:center}.ObLinkedList-root{list-style-type:none;margin-left:0;padding-left:0}.ObLinkedList-item{display:flex;align-items:center;flex-direction:row}.ObLinkedList-leftColumn{flex:1 1 4em;font-size:.75em;padding:0 1em;text-align:center}.ObLinkedList-rightColumn{flex:1 1 100%;padding:1em 1em 1em 1.5em}.ObLinkedList-line{display:flex;align-self:stretch;flex:0 0 .2em;background:#fff;position:relative}.ObLinkedList-bullet{background:#fff;border:1px solid rgba(50,50,50,.25);border-radius:.55em;height:.7em;width:.7em;position:absolute;left:0;top:50%;transform:translate(-0.25em, -50%)}.ObLinkedList-card{background:#fff;border:1px solid;border-color:#e5e6e9 #dfe0e4 #d0d1d5;border-radius:.1875em;color:inherit;cursor:pointer;flex:100% 1 1;position:relative}.ObLinkedList-card::before{border-bottom:.5em solid rgba(0,0,0,0);border-right:1em solid #fff;border-top:.5em solid rgba(0,0,0,0);content:" ";filter:drop-shadow(-1px 0px 1px rgba(50, 50, 50, 0.2));height:1em;left:-1em;margin-top:-0.5em;position:absolute;top:50%;width:1em}.ObLinkedList-card:hover{background-color:hsl(220,20%,94%) !important;color:inherit;text-decoration:inherit}.ObLinkedList-card:hover::before{border-right-color:hsl(220,20%,94%) !important}.ObPageBanner-root{background-color:hsl(186,72%,24%);background-color:var(--brand-dark);box-shadow:0px 8px 8px rgba(0,0,0,.2);color:#fff}.ObPageBanner-root a{color:hsl(200,50%,80%)}.ObPageBanner-inner{display:flex;align-items:center;flex-direction:column}@media screen and (min-width: 768px){.ObPageBanner-inner{align-items:flex-start;flex-direction:row}}.ObPageBanner-plantTitle{font-size:2rem}@media screen and (min-width: 992px){.ObPageBanner-plantTitle{font-size:3rem}}.ObPageBanner-bannerImage{align-self:stretch;background-color:#ddd;display:inline-block;height:20vh;object-fit:cover;object-position:center center;width:100%}@media screen and (min-width: 576px){.ObPageBanner-bannerImage{align-self:center;margin:0;margin-right:1rem;border:.4rem solid #fff;border-radius:50%;height:150px;width:150px}}@media screen and (min-width: 992px){.ObPageBanner-bannerImage{height:250px;width:250px}}.ObPageBanner-bannerTitle{margin-bottom:1rem;margin-top:1rem;font-size:2rem}@media screen and (min-width: 768px){.ObPageBanner-bannerTitle{margin-top:0}}@media screen and (min-width: 992px){.ObPageBanner-bannerTitle{font-size:3rem}}.ObPageBanner-tabList.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1000}.ObPageBanner-tabListInner{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.ObPageBanner-tab{border-bottom:.25rem solid rgba(0,0,0,0);display:inline-block;margin-top:.5rem;min-width:8rem;padding:.5rem 1rem;text-align:center;text-transform:capitalize}.ObPageBanner-tab.active{border-color:#fff}.ObProgressBar-root{height:1.5em;width:100%;appearance:none;-webkit-appearance:none;background-color:#f5f5f5;border:none;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,.2) inset;color:#4169e1;position:relative}.ObProgressBar-root::-webkit-progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,.2) inset}.ObProgressBar-root::-webkit-progress-value{background-image:linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),linear-gradient(left, var(--brand-primary, hsl(186, 72%, 24%)), var(--brand-light, hsl(186, 72%, 37%)));background-image:-webkit-linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),-webkit-linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),-webkit-linear-gradient(left, var(--brand-primary), hsl(186, 72%, 24%), var(--brand-light, hsl(186, 72%, 37%)));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;position:relative;transition:width .5s ease-out}.ObProgressBar-root::-webkit-progress-value:after{background-color:#fff;content:"";border-radius:100%;height:5px;position:absolute;right:7px;top:7px;width:5px}.ObProgressBar-root::-moz-progress-bar{background-image:linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),linear-gradient(left, var(--brand-primary), var(--brand-light));background-image:-moz-linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),-moz-linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),-moz-linear-gradient(left, var(--brand-primary), var(--brand-light));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;transition:width .5s ease-out}.ObSidebar-root{position:fixed;bottom:0;left:0;top:0;z-index:2;background-color:#fff;transform:translateX(-100%);transition:transform .2s ease-out;will-change:transform;overflow-y:auto}.ObSidebar-root.Ob-right{left:unset;right:0;transform:translateX(100%)}.ObSidebar-root.Ob-open{transform:translateX(0)}.ObSidebar-root.ObSidebar-shadow{box-shadow:2px 2px 4px rgba(0,0,0,.15)}.ObSidebar-root.ObSidebar-shadow.Ob-right{box-shadow:-2px 2px 4px rgba(0,0,0,.15)}.ObSidebar-overlay{position:fixed;bottom:0;left:0;right:0;top:0;z-index:1;opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility .3s ease-out;background-color:rgba(0,0,0,.3)}.ObSidebar-overlay.Ob-open{opacity:1;visibility:visible}.😖{display:initial}.ObSplitContainer-root{display:flex;flex-direction:column;height:100%;width:100%}.ObSplitContainer-root.horizontal{flex-direction:row}.ObSplitContainer-panel{overflow:hidden}.ObSplitContainer-divider{flex:0 0 .5rem;background-color:rgba(0,0,0,0);line-height:.75;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.ObSplitContainer-divider:focus{background-color:rgba(0,0,0,.3)}.ObSplitContainer-root.horizontal>.ObSplitContainer-divider{cursor:ew-resize;writing-mode:vertical-lr}.ObSplitContainer-panel.dragging{pointer-events:none}.ObValueToggle-root{display:flex;align-items:center}.ObValueToggle-option{margin-bottom:0}.ObValueToggle-label{cursor:pointer;font-size:.8em;margin:0 .2em;padding:.3em .5em;text-transform:uppercase}.ObValueToggle-label:hover{background:#ccc}.ObValueToggle-input:checked+.ObValueToggle-label{--color-bg: var(--brand-dark);background-color:#666;background-color:var(--color-bg);cursor:default;color:#fff}.ObValueToggle-input:checked:focus-within+.ObValueToggle-label{--color-bg: var(--brand-light)}.ObValueToggle-input:checked:hover+.ObValueToggle-label{background-color:#666;background-color:var(--color-bg)}.ObValueToggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}
|
|
1
|
+
.ObCheckbox-root{--check-width: 2rem;--bg-color: var(--brand-dark, rgba(42, 65, 50, 0.5));--bg-color-hover: var(--brand-primary, rgba(42, 65, 50, 0.8));--bg-color-selected: var(--brand-light);display:inline-block;height:var(--check-width);margin-bottom:0}.ObCheckbox-root:focus-within .ObCheckbox-box{border:.1rem solid #000}.ObCheckbox-root.Ob-disabled{--bg-color: rgba(150, 150, 150, 0.5);--bg-color-hover: var(--bg-color)}.ObCheckbox-box{position:relative;background:var(--bg-color);transition:background 300ms ease;overflow:hidden;border-radius:calc(var(--check-width)/15);height:var(--check-width);width:var(--check-width)}.ObCheckbox-box:hover{background:var(--bg-color-hover)}.ObCheckbox-label{position:relative;margin-bottom:0;overflow:hidden}.ObCheckbox-label:focus{outline:none}.ObCheckbox-mark{color:#fff;display:inline-block;font-size:calc(var(--check-width)*.4);left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition:all 300ms ease-in-out;transition-delay:0ms;transform:translate(-50%, -50%) scale(6)}.ObCheckbox-input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ObCheckbox-input:focus{outline:none}.ObCheckbox-label{display:flex;gap:.5rem;align-items:center;overflow:visible}.ObCheckbox-root.Ob-reverse .ObCheckbox-label{flex-direction:row-reverse}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label .ObCheckbox-box{animation:animOn 600ms 1 forwards}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label .ObCheckbox-box{background:var(--bg-color-selected)}.ObCheckbox-input:checked+.ObCheckbox-label .ObCheckbox-box .ObCheckbox-mark{transform:translate(-50%, -50%) scale(1);transition-delay:200ms;opacity:1}.ObCheckbox-root.Ob-disabled .ObCheckbox-box{cursor:not-allowed}@keyframes animOn{40%{transform:scaleY(0.4) scaleX(2)}50%{transform:scaleY(1.2) scaleX(0.6)}60%{transform:scaleY(0.8) scaleX(1.4)}70%{transform:scaleY(1.1) scaleX(0.9)}100%{transform:scaleY(1) scaleX(1)}}.ObColorCard-root{--bg-color-border: black;--bg-color-main: white;--bg-size: 0.75rem;--card-color: rgb(0, 0, 0);display:flex;align-items:stretch;min-height:10rem;overflow:hidden;border-radius:.25rem;box-shadow:0 1px 12px rgba(0, 0, 0, 0.15),0 1px 6px rgba(0, 0, 0, 0.25);color:#666;background-image:linear-gradient(to right, var(--bg-color-border), var(--bg-color-border) var(--bg-size), var(--bg-color-main) var(--bg-size), var(--bg-color-main));font-family:"Variable Bahnschrift","Bahnschrift","Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;transition:all ease-in-out 300ms;cursor:pointer;&:nth-of-type(5n + 1){--bg-color-border: rgb(178, 108, 190)}&:nth-of-type(5n + 2){--bg-color-border: rgb(79, 164, 61)}&:nth-of-type(5n + 3){--bg-color-border: rgb(246, 170, 23)}&:nth-of-type(5n + 4){--bg-color-border: rgb(218, 93, 83)}&:nth-of-type(5n + 5){--bg-color-border: rgb(23, 162, 184)}&:hover,&:focus{--bg-color-main: #f5f5f5;box-shadow:0 3px 18px rgba(0, 0, 0, 0.15),0 3px 12px rgba(0, 0, 0, 0.25);text-decoration:none}}@media screen and (min-width: 48rem){.ObColorCard-root{font-size:1.2rem}}.ObColorCard-column{display:flex;flex:1 1 100%;flex-direction:column;justify-content:space-between;margin:1rem 0;padding:.5rem 1.5rem .5rem 1rem;overflow:hidden;text-overflow:ellipsis;&:first-child{margin-left:var(--bg-size, 0.75rem)}&.ObColorCard-minor{flex:0 0 4rem;border-right:1px solid #e3e3e3;transition:margin ease-in-out 300ms}}@media screen and (min-width: 48rem){&.ObColorCard-minor{flex:0 0 8rem}}.ObColorCard-detailLabel{color:dimgray;font-size:.8rem;text-transform:uppercase}.ObColorCard-detail{&:not(:last-child){margin-right:1.5rem}&.ObColorCard-primary,&.ObColorCard-primary .ObColorCard-detailValue{font-size:1.25rem;font-weight:300}&.ObColorCard-primary .ObColorCard-detailValue{color:unset}}@media screen and (min-width: 48rem){.ObColorCard-detail{font-size:1rem}}.ObColorCard-detailValue{color:#555}.ObColorCard-stepList{display:flex;flex-direction:column;gap:1rem}.ObColorCard-step{position:relative;text-box-trim:trim-both;display:flex;align-items:flex-start;gap:.5rem}.ObColorCard-step::before{flex:.6em 0 0;content:"";position:relative;top:.25em;width:.6em;height:.6em;background:white;border:2px solid var(--bg-color-border, #999);border-radius:50%;box-sizing:border-box;z-index:1}.ObColorCard-step:not(:last-child)::after{content:"";position:absolute;top:1em;left:calc(.3em - 1px);height:calc(100% - .95em + 1rem + .0625em);border-left:2px dotted #999;z-index:0}:root{--ob-datenavigator-height: 3rem}.ObDateNavigator-icon{display:inline-block;svg{width:.625em;position:relative;top:-1px}}.ObDateNavigator-root{background-color:hsl(220, 20%, 96%);background-color:var(--block-header-color-bg);display:flex;font-size:1rem;outline:none;&:focus-visible{outline:2px solid var(--brand-dark, #336699);outline-offset:2px}}.ObDateNavigator-arrow{display:flex;align-items:center;flex:0 0 var(--ob-datenavigator-height);justify-content:center;height:var(--ob-datenavigator-height);cursor:pointer;text-align:center;&:hover:not(:disabled){background-color:#e3e3e3;background-color:var(--block-header-button-hover)}&:disabled{cursor:not-allowed;color:rgba(0 0 0/0.2)}}.ObDateNavigator-arrowLeft{border-right:1px solid #ddd;order:1}.ObDateNavigator-arrowRight{border-left:1px solid #ddd;order:3}.ObDateNavigator-date{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;order:2;height:var(--ob-datenavigator-height);text-align:center}.ObDateNavigator-today{order:4;padding:0 1rem;height:var(--ob-datenavigator-height);display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--brand-dark, #336699);text-transform:uppercase;cursor:pointer;text-wrap:nowrap;border-left:1px solid #ddd;&:hover:not(:disabled){background-color:var(--block-header-button-hover)}&:focus-visible{outline:2px solid var(--brand-dark, #336699);outline-offset:2px}}:root{--ob-linked-list-bullet-size: 0.7em;--ob-linked-list-line-width: 0.2em}.ObLinkedList-root{list-style-type:none;margin-left:0;padding-left:0}.ObLinkedList-item{display:flex;align-items:center;flex-direction:row}.ObLinkedList-leftColumn{flex:1 1 4em;font-size:.75em;padding:0 1em;text-align:center}.ObLinkedList-rightColumn{flex:1 1 100%;padding:1em 1em 1em 1.5em}.ObLinkedList-line{display:flex;align-self:stretch;flex:0 0 .2em;background:#fff;position:relative}.ObLinkedList-bullet{background:#fff;border:1px solid rgba(50,50,50,.25);border-radius:.55em;height:.7em;width:.7em;position:absolute;left:0;top:50%;transform:translate(calc(-1 * var(--ob-linked-list-bullet-size) / 2 + var(--ob-linked-list-line-width) / 2), -50%)}.ObLinkedList-card{display:block;background:#fff;border:1px solid;border-color:#e5e6e9 #dfe0e4 #d0d1d5;border-radius:.1875em;color:inherit;cursor:pointer;flex:100% 1 1;position:relative}.ObLinkedList-card::before{border-bottom:.5em solid rgba(0,0,0,0);border-right:1em solid #fff;border-top:.5em solid rgba(0,0,0,0);content:" ";filter:drop-shadow(-1px 0px 1px rgba(50, 50, 50, 0.2));height:1em;left:-1em;margin-top:-0.5em;position:absolute;top:50%;width:1em}.ObLinkedList-card:hover{background-color:hsl(220,20%,94%) !important;color:inherit;text-decoration:inherit}.ObLinkedList-card:hover::before{border-right-color:hsl(220,20%,94%) !important}.ObPageBanner-root{background-color:hsl(186,72%,24%);background-color:var(--brand-dark);box-shadow:0px 8px 8px rgba(0,0,0,.2);color:#fff}.ObPageBanner-root a{color:hsl(200,50%,80%)}.ObPageBanner-inner{display:flex;align-items:center;flex-direction:column}@media screen and (min-width: 768px){.ObPageBanner-inner{align-items:flex-start;flex-direction:row}}.ObPageBanner-plantTitle{font-size:2rem}@media screen and (min-width: 992px){.ObPageBanner-plantTitle{font-size:3rem}}.ObPageBanner-bannerImage{align-self:stretch;background-color:#ddd;display:inline-block;height:20vh;object-fit:cover;object-position:center center;width:100%}@media screen and (min-width: 576px){.ObPageBanner-bannerImage{align-self:center;margin:0;margin-right:1rem;border:.4rem solid #fff;border-radius:50%;height:150px;width:150px}}@media screen and (min-width: 992px){.ObPageBanner-bannerImage{height:250px;width:250px}}.ObPageBanner-bannerTitle{margin-bottom:1rem;margin-top:1rem;font-size:2rem}@media screen and (min-width: 768px){.ObPageBanner-bannerTitle{margin-top:0}}@media screen and (min-width: 992px){.ObPageBanner-bannerTitle{font-size:3rem}}.ObPageBanner-tabList.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1000}.ObPageBanner-tabListInner{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.ObPageBanner-tab{border-bottom:.25rem solid rgba(0,0,0,0);display:inline-block;margin-top:.5rem;min-width:8rem;padding:.5rem 1rem;text-align:center;text-transform:capitalize}.ObPageBanner-tab.active{border-color:#fff}.ObProgressBar-root{height:1.5em;width:100%;appearance:none;-webkit-appearance:none;background-color:#f5f5f5;border:none;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,.2) inset;color:#4169e1;position:relative}.ObProgressBar-root::-webkit-progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,.2) inset}.ObProgressBar-root::-webkit-progress-value{background-image:linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),linear-gradient(left, var(--brand-primary), var(--brand-light));background-image:-webkit-linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),-webkit-linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),-webkit-linear-gradient(left, var(--brand-primary), var(--brand-light));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;position:relative;transition:width .5s ease-out}.ObProgressBar-root::-webkit-progress-value:after{background-color:#fff;content:"";border-radius:100%;height:5px;position:absolute;right:7px;top:7px;width:5px}.ObProgressBar-root::-moz-progress-bar{background-image:linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),linear-gradient(left, var(--brand-primary), var(--brand-light));background-image:-moz-linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),-moz-linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),-moz-linear-gradient(left, var(--brand-primary), var(--brand-light));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;transition:width .5s ease-out}.ObSidebar-root{position:fixed;bottom:0;left:0;top:0;z-index:2;background-color:#fff;transform:translateX(-100%);transition:transform .2s ease-out;will-change:transform;overflow-y:auto}.ObSidebar-root.Ob-right{left:unset;right:0;transform:translateX(100%)}.ObSidebar-root.Ob-open{transform:translateX(0)}.ObSidebar-root.ObSidebar-shadow{box-shadow:2px 2px 4px rgba(0,0,0,.15)}.ObSidebar-root.ObSidebar-shadow.Ob-right{box-shadow:-2px 2px 4px rgba(0,0,0,.15)}.ObSidebar-overlay{position:fixed;bottom:0;left:0;right:0;top:0;z-index:1;opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility .3s ease-out;background-color:rgba(0,0,0,.3)}.ObSidebar-overlay.Ob-open{opacity:1;visibility:visible}.ObSpinner-wrapper,.ObSpinner-fullPage{--bullet-size: 0.5em}.ObSpinner-root{display:inline-block}.ObSpinner-fullPage{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw}.ObSpinner-spinner{display:inline-block;height:calc(var(--bullet-size)*1.5);position:relative;width:calc(var(--bullet-size)*5)}.ObSpinner-bullet{animation-timing-function:cubic-bezier(0, 1, 1, 0);background:#666;border-radius:50%;height:var(--bullet-size);position:absolute;top:.2rem;width:var(--bullet-size);&:nth-child(1){animation:scaleAnimation .6s infinite ease-in-out;left:calc(var(--bullet-size)*.5)}&:nth-child(2){animation:translateAnimation .6s infinite ease-in-out;left:calc(var(--bullet-size)*.5)}&:nth-child(3){animation:translateAnimation .6s infinite ease-in-out;left:calc(var(--bullet-size)*2.4)}&:nth-child(4){animation:scaleAnimation .6s infinite ease-in-out reverse;left:calc(var(--bullet-size)*4)}}@keyframes scaleAnimation{from{transform:scale(0)}to{transform:scale(1)}}@keyframes translateAnimation{from{transform:translate(0, 0)}to{transform:translate(calc(var(--bullet-size) * 1.65), 0)}}.😖{display:initial}.ObSplitContainer-root{display:flex;flex-direction:column;height:100%;width:100%}.ObSplitContainer-root.horizontal{flex-direction:row}.ObSplitContainer-panel{overflow:hidden}.ObSplitContainer-divider{flex:0 0 .5rem;background-color:rgba(0,0,0,0);line-height:.75;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.ObSplitContainer-divider:focus{background-color:rgba(0,0,0,.3)}.ObSplitContainer-root.horizontal>.ObSplitContainer-divider{cursor:ew-resize;writing-mode:vertical-lr}.ObSplitContainer-panel.dragging{pointer-events:none}.ObValueToggleGroup{padding:.25rem;border:2px solid rgb(0 0 0/0.2);border-radius:4px;display:flex;gap:.25rem;flex-wrap:wrap;&.vertical{flex-direction:column;align-items:center;& .ObValueToggleOption{width:100%;& .ObValueToggleLabel{width:100%;text-align:center}}}&:focus-within{border-color:rgb(0 0 0/0.8)}}.ObValueToggleOption{display:flex;align-items:center;margin:0;position:relative}.ObValueToggleOption input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.ObValueToggleLabel{font-size:.8em;margin:0 .2em;padding:.3em .5em;text-transform:uppercase;transition:background .2s ease,color .2s ease;border-radius:4px}.ObValueToggleOption:hover input:not(:disabled)+.ObValueToggleLabel{cursor:pointer;background:#ccc}.ObValueToggleOption input:checked+.ObValueToggleLabel{--color-bg: var(--brand-dark);background-color:var(--color-bg);color:white;cursor:default}.ObValueToggleOption input:disabled+.ObValueToggleLabel{color:rgb(0 0 0/0.5)}.ObValueToggleOption input:checked:focus-visible+.ObValueToggleLabel{--color-bg: var(--brand-light);outline:2px solid var(--brand-light)}.ObValueToggleOption input:checked:hover+.ObValueToggleLabel{background-color:var(--color-bg)}
|
package/es/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { Checkbox, CheckboxProps } from "./Checkbox/index.js";
|
|
2
|
-
export { ColorCard, CardColumn, CardDetail, CardLabel } from "./ColorCard/index.js";
|
|
1
|
+
export { Checkbox, type CheckboxProps } from "./Checkbox/index.js";
|
|
2
|
+
export { ColorCard, CardColumn, CardDetail, CardLabel, CardStep, CardStepList } from "./ColorCard/index.js";
|
|
3
3
|
export { DateNavigator } from "./DateNavigator/index.js";
|
|
4
|
-
export { Card,
|
|
5
|
-
export { BannerImage as PageBannerImage, BannerImageProps, PageBanner, PageBannerProps, Tab as PageBannerTab, TabProps as PageBannerTabProps, TabList as PageBannerTabList, TabListProps as PageBannerTabListProps, Title as PageBannerTitle, TitleProps as PageBannerTitleProps, } from "./PageBanner/index.js";
|
|
4
|
+
export { Card, LinkedList, LinkedListItem } from "./LinkedCardList/index.js";
|
|
5
|
+
export { BannerImage as PageBannerImage, type BannerImageProps, PageBanner, type PageBannerProps, Tab as PageBannerTab, type TabProps as PageBannerTabProps, TabList as PageBannerTabList, type TabListProps as PageBannerTabListProps, Title as PageBannerTitle, type TitleProps as PageBannerTitleProps, } from "./PageBanner/index.js";
|
|
6
6
|
export { Portal } from "./Portal/index.js";
|
|
7
7
|
export { ProgressBar } from "./ProgressBar/index.js";
|
|
8
|
-
export { Sidebar, SidebarProps } from "./Sidebar/index.js";
|
|
9
|
-
export { Spinner, SpinnerProps } from "./Spinner/index.js";
|
|
10
|
-
export { SplitContainer, SplitContainerProps } from "./SplitContainer/index.js";
|
|
8
|
+
export { Sidebar, type SidebarProps } from "./Sidebar/index.js";
|
|
9
|
+
export { Spinner, type SpinnerProps } from "./Spinner/index.js";
|
|
10
|
+
export { SplitContainer, type SplitContainerProps } from "./SplitContainer/index.js";
|
|
11
11
|
export { useTranslation } from "./useTranslation/index.js";
|
|
12
|
-
export {
|
|
12
|
+
export { ValueToggleGroup, type ValueToggleGroupProps } from "./ValueToggleGroup/index.js";
|
package/es/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { Checkbox } from "./Checkbox/index.js";
|
|
2
|
-
export { ColorCard, CardColumn, CardDetail, CardLabel } from "./ColorCard/index.js";
|
|
2
|
+
export { ColorCard, CardColumn, CardDetail, CardLabel, CardStep, CardStepList } from "./ColorCard/index.js";
|
|
3
3
|
export { DateNavigator } from "./DateNavigator/index.js";
|
|
4
|
-
export { Card,
|
|
4
|
+
export { Card, LinkedList, LinkedListItem } from "./LinkedCardList/index.js";
|
|
5
5
|
export { BannerImage as PageBannerImage, PageBanner, Tab as PageBannerTab, TabList as PageBannerTabList, Title as PageBannerTitle, } from "./PageBanner/index.js";
|
|
6
6
|
export { Portal } from "./Portal/index.js";
|
|
7
7
|
export { ProgressBar } from "./ProgressBar/index.js";
|
|
@@ -9,4 +9,4 @@ export { Sidebar } from "./Sidebar/index.js";
|
|
|
9
9
|
export { Spinner } from "./Spinner/index.js";
|
|
10
10
|
export { SplitContainer } from "./SplitContainer/index.js";
|
|
11
11
|
export { useTranslation } from "./useTranslation/index.js";
|
|
12
|
-
export {
|
|
12
|
+
export { ValueToggleGroup } from "./ValueToggleGroup/index.js";
|
package/package.json
CHANGED
|
@@ -1,91 +1,89 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"gitHead": "bc10814d960b65e6959fb8506259e4d369f094ab"
|
|
91
|
-
}
|
|
2
|
+
"name": "@olenbetong/synergi-react",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Standalone React component for SynergiWeb and Partner Portal",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "./es/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./es/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./Checkbox": {
|
|
12
|
+
"import": "./es/Checkbox/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./ColorCard": {
|
|
15
|
+
"import": "./es/ColorCard/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./DateNavigator": {
|
|
18
|
+
"import": "./es/DateNavigator/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./LinkedCardList": {
|
|
21
|
+
"import": "./es/LinkedCardList/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./PageBanner": {
|
|
24
|
+
"import": "./es/PageBanner/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./Portal": {
|
|
27
|
+
"import": "./es/Portal/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./ProgressBar": {
|
|
30
|
+
"import": "./es/ProgressBar/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./Sidebar": {
|
|
33
|
+
"import": "./es/Sidebar/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./Spinner": {
|
|
36
|
+
"import": "./es/Spinner/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./SplitContainer": {
|
|
39
|
+
"import": "./es/SplitContainer/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./useTranslation": {
|
|
42
|
+
"import": "./es/useTranslation/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./ValueToggle": {
|
|
45
|
+
"import": "./es/ValueToggle/index.js"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"files": [
|
|
49
|
+
"src",
|
|
50
|
+
"dist",
|
|
51
|
+
"es"
|
|
52
|
+
],
|
|
53
|
+
"keywords": [],
|
|
54
|
+
"author": "Bjørnar Vister Hansen <bvh@olenbetong.no>",
|
|
55
|
+
"license": "MIT",
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"react": ">=18.2.0",
|
|
58
|
+
"react-dom": ">=18.2.0"
|
|
59
|
+
},
|
|
60
|
+
"sideEffects": false,
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"clsx": "^2.1.1",
|
|
63
|
+
"localforage": "^1.10.0",
|
|
64
|
+
"mitt": "^3.0.1",
|
|
65
|
+
"@olenbetong/appframe-core": "2.11.7"
|
|
66
|
+
},
|
|
67
|
+
"repository": {
|
|
68
|
+
"type": "git",
|
|
69
|
+
"url": "https://github.com/olenbetong/ui-kit.git"
|
|
70
|
+
},
|
|
71
|
+
"buildConfig": {
|
|
72
|
+
"entries": [
|
|
73
|
+
{
|
|
74
|
+
"libraryName": "ob.react"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"replace-in-files": "^3.0.0"
|
|
80
|
+
},
|
|
81
|
+
"scripts": {
|
|
82
|
+
"build": "pnpm run build:tsc && pnpm run build:tsc:post && pnpm run build:esbuild && pnpm run build:sass && pnpm run build:sass:components",
|
|
83
|
+
"build:tsc": "find . -name '*.tsbuildinfo' -delete && rm -rf ./es && tsc",
|
|
84
|
+
"build:esbuild": "rm -rf ./dist && node --experimental-strip-types ../../scripts/esbuild.ts",
|
|
85
|
+
"build:sass": "sass ./src/index.scss ./dist/styles/styles.css --source-map-urls=relative --style compressed",
|
|
86
|
+
"build:sass:components": "node ./scripts/buildSassComponents.mjs",
|
|
87
|
+
"build:tsc:post": "node ./scripts/replaceCss.mjs"
|
|
88
|
+
}
|
|
89
|
+
}
|
package/src/Checkbox/index.scss
CHANGED
|
@@ -73,13 +73,20 @@
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
.
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
.ObCheckbox-label {
|
|
77
|
+
display: flex;
|
|
78
|
+
gap: 0.5rem;
|
|
79
|
+
align-items: center;
|
|
80
|
+
|
|
81
|
+
overflow: visible;
|
|
79
82
|
}
|
|
80
83
|
|
|
81
|
-
.ObCheckbox-
|
|
82
|
-
|
|
84
|
+
.ObCheckbox-root.Ob-reverse .ObCheckbox-label {
|
|
85
|
+
flex-direction: row-reverse;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.ObCheckbox-input:checked:not(:disabled) + .ObCheckbox-label .ObCheckbox-box {
|
|
89
|
+
animation: animOn 600ms 1 forwards;
|
|
83
90
|
}
|
|
84
91
|
|
|
85
92
|
.ObCheckbox-input:checked:not(:disabled) + .ObCheckbox-label .ObCheckbox-box {
|
package/src/Checkbox/index.tsx
CHANGED
|
@@ -15,16 +15,29 @@ export type CheckboxProps = React.RefAttributes<HTMLInputElement> &
|
|
|
15
15
|
Omit<React.HTMLProps<HTMLInputElement>, "value"> & {
|
|
16
16
|
className?: string;
|
|
17
17
|
id?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Label for the checkbox.
|
|
20
|
+
*/
|
|
21
|
+
label?: React.ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Tooltip text for the checkbox.
|
|
24
|
+
*/
|
|
18
25
|
title?: string;
|
|
19
26
|
value?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Reverses the checkbox layout, placing the label before the checkbox.
|
|
29
|
+
*/
|
|
30
|
+
reverse?: boolean;
|
|
20
31
|
};
|
|
21
32
|
|
|
22
33
|
export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(
|
|
23
|
-
{ className, disabled = false, id, onChange = () => null, title, value, ...other }: CheckboxProps,
|
|
34
|
+
{ className, disabled = false, id, onChange = () => null, label, title, reverse, value, ...other }: CheckboxProps,
|
|
24
35
|
ref: React.ForwardedRef<HTMLInputElement>,
|
|
25
36
|
) {
|
|
26
|
-
|
|
27
|
-
|
|
37
|
+
let inputId = useId();
|
|
38
|
+
inputId = id ?? inputId;
|
|
39
|
+
let inputIdRef = `#${inputId}`;
|
|
40
|
+
let input = useRef<HTMLInputElement>(null);
|
|
28
41
|
|
|
29
42
|
// biome-ignore lint/correctness/useExhaustiveDependencies: Ref object
|
|
30
43
|
useEffect(() => {
|
|
@@ -51,7 +64,7 @@ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Che
|
|
|
51
64
|
|
|
52
65
|
function handleKeyDown(evt: any) {
|
|
53
66
|
if (evt.nativeEvent) {
|
|
54
|
-
|
|
67
|
+
let { nativeEvent } = evt;
|
|
55
68
|
|
|
56
69
|
if (nativeEvent.key === " ") {
|
|
57
70
|
nativeEvent.preventDefault();
|
|
@@ -61,7 +74,10 @@ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Che
|
|
|
61
74
|
}
|
|
62
75
|
|
|
63
76
|
return (
|
|
64
|
-
<div
|
|
77
|
+
<div
|
|
78
|
+
className={clsx("ObCheckbox-root", disabled && "Ob-disabled", reverse && "Ob-reverse", className)}
|
|
79
|
+
title={title}
|
|
80
|
+
>
|
|
65
81
|
<input
|
|
66
82
|
className="ObCheckbox-input"
|
|
67
83
|
id={inputId}
|
|
@@ -72,10 +88,11 @@ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Che
|
|
|
72
88
|
ref={input}
|
|
73
89
|
{...other}
|
|
74
90
|
/>
|
|
75
|
-
<label htmlFor={
|
|
91
|
+
<label htmlFor={inputIdRef} className="ObCheckbox-label" onKeyDown={handleKeyDown} onClick={handleClick}>
|
|
76
92
|
<div className="ObCheckbox-box">
|
|
77
93
|
<Mark className="ObCheckbox-mark" />
|
|
78
94
|
</div>
|
|
95
|
+
{label && <div className="ObCheckbox-label-text">{label}</div>}
|
|
79
96
|
</label>
|
|
80
97
|
</div>
|
|
81
98
|
);
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
@use "../styles/variables";
|
|
2
|
-
|
|
3
1
|
.ObColorCard-root {
|
|
4
2
|
--bg-color-border: black;
|
|
5
3
|
--bg-color-main: white;
|
|
6
4
|
--bg-size: 0.75rem;
|
|
7
5
|
--card-color: rgb(0, 0, 0);
|
|
8
6
|
|
|
7
|
+
display: flex;
|
|
9
8
|
align-items: stretch;
|
|
10
|
-
|
|
9
|
+
min-height: 10rem;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
border-radius: 0.25rem;
|
|
12
|
+
box-shadow: 0 1px 12px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.25);
|
|
13
|
+
color: #666;
|
|
11
14
|
background-image: linear-gradient(
|
|
12
15
|
to right,
|
|
13
16
|
var(--bg-color-border),
|
|
@@ -15,13 +18,6 @@
|
|
|
15
18
|
var(--bg-color-main) var(--bg-size),
|
|
16
19
|
var(--bg-color-main)
|
|
17
20
|
);
|
|
18
|
-
border-radius: 0.25rem;
|
|
19
|
-
box-shadow:
|
|
20
|
-
0 1px 12px rgba(0, 0, 0, 0.15),
|
|
21
|
-
0 1px 6px rgba(0, 0, 0, 0.25);
|
|
22
|
-
color: #666;
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
display: flex;
|
|
25
21
|
font-family:
|
|
26
22
|
"Variable Bahnschrift",
|
|
27
23
|
"Bahnschrift",
|
|
@@ -37,9 +33,8 @@
|
|
|
37
33
|
"Segoe UI Emoji",
|
|
38
34
|
"Segoe UI Symbol";
|
|
39
35
|
font-size: 1rem;
|
|
40
|
-
min-height: 10rem;
|
|
41
|
-
overflow: hidden;
|
|
42
36
|
transition: all ease-in-out 300ms;
|
|
37
|
+
cursor: pointer;
|
|
43
38
|
|
|
44
39
|
&:nth-of-type(5n + 1) {
|
|
45
40
|
--bg-color-border: rgb(178, 108, 190);
|
|
@@ -59,15 +54,9 @@
|
|
|
59
54
|
|
|
60
55
|
&:hover,
|
|
61
56
|
&:focus {
|
|
62
|
-
/*--bg-size: 1rem;*/
|
|
63
57
|
--bg-color-main: #f5f5f5;
|
|
64
|
-
|
|
65
|
-
box-shadow:
|
|
66
|
-
0 3px 18px rgba(0, 0, 0, 0.15),
|
|
67
|
-
0 3px 12px rgba(0, 0, 0, 0.25);
|
|
68
|
-
color: #666;
|
|
58
|
+
box-shadow: 0 3px 18px rgba(0, 0, 0, 0.15), 0 3px 12px rgba(0, 0, 0, 0.25);
|
|
69
59
|
text-decoration: none;
|
|
70
|
-
/*transform: scale(1.03) translateY(-3px);*/
|
|
71
60
|
}
|
|
72
61
|
|
|
73
62
|
@media screen and (min-width: 48rem) {
|
|
@@ -81,30 +70,27 @@
|
|
|
81
70
|
flex-direction: column;
|
|
82
71
|
justify-content: space-between;
|
|
83
72
|
margin: 1rem 0;
|
|
84
|
-
overflow: hidden;
|
|
85
73
|
padding: 0.5rem 1.5rem 0.5rem 1rem;
|
|
74
|
+
overflow: hidden;
|
|
86
75
|
text-overflow: ellipsis;
|
|
87
76
|
|
|
88
77
|
&:first-child {
|
|
89
|
-
margin-left: 0.75rem;
|
|
90
|
-
margin-left: var(--bg-size);
|
|
78
|
+
margin-left: var(--bg-size, 0.75rem);
|
|
91
79
|
}
|
|
92
80
|
|
|
93
81
|
&.ObColorCard-minor {
|
|
94
|
-
border-right: 1px solid #e3e3e3;
|
|
95
82
|
flex: 0 0 4rem;
|
|
83
|
+
border-right: 1px solid #e3e3e3;
|
|
96
84
|
transition: margin ease-in-out 300ms;
|
|
97
|
-
}
|
|
98
85
|
|
|
99
|
-
|
|
100
|
-
&.ObColorCard-minor {
|
|
86
|
+
@media screen and (min-width: 48rem) {
|
|
101
87
|
flex: 0 0 8rem;
|
|
102
88
|
}
|
|
103
89
|
}
|
|
104
90
|
}
|
|
105
91
|
|
|
106
92
|
.ObColorCard-detailLabel {
|
|
107
|
-
color: #
|
|
93
|
+
color: #696969;
|
|
108
94
|
font-size: 0.8rem;
|
|
109
95
|
text-transform: uppercase;
|
|
110
96
|
}
|
|
@@ -130,41 +116,46 @@
|
|
|
130
116
|
}
|
|
131
117
|
|
|
132
118
|
.ObColorCard-detailValue {
|
|
133
|
-
color: #
|
|
119
|
+
color: #555555;
|
|
134
120
|
}
|
|
135
121
|
|
|
136
|
-
.ObColorCard-
|
|
122
|
+
.ObColorCard-stepList {
|
|
123
|
+
display: flex;
|
|
124
|
+
flex-direction: column;
|
|
125
|
+
gap: 1rem;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.ObColorCard-step {
|
|
137
129
|
position: relative;
|
|
138
|
-
|
|
139
|
-
/* white-space: nowrap; */
|
|
130
|
+
text-box-trim: trim-both;
|
|
140
131
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
content: "";
|
|
146
|
-
position: absolute;
|
|
147
|
-
width: 0.2rem;
|
|
148
|
-
height: calc(100% + 1rem);
|
|
149
|
-
border-left: 0.2rem dotted #666;
|
|
150
|
-
left: 0.25rem;
|
|
151
|
-
top: 0.5rem;
|
|
152
|
-
z-index: 0;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
132
|
+
display: flex;
|
|
133
|
+
align-items: flex-start;
|
|
134
|
+
gap: 0.5rem;
|
|
135
|
+
}
|
|
155
136
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
137
|
+
.ObColorCard-step::before {
|
|
138
|
+
flex: 0.6em 0 0;
|
|
139
|
+
content: "";
|
|
140
|
+
|
|
141
|
+
position: relative;
|
|
142
|
+
top: 0.25em; /* half the height difference of text and the circle */
|
|
143
|
+
|
|
144
|
+
width: 0.6em;
|
|
145
|
+
height: 0.6em;
|
|
146
|
+
background: white;
|
|
147
|
+
border: 2px solid var(--bg-color-border, #999);
|
|
148
|
+
border-radius: 50%;
|
|
149
|
+
box-sizing: border-box;
|
|
150
|
+
z-index: 1;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.ObColorCard-step:not(:last-child)::after {
|
|
154
|
+
content: "";
|
|
155
|
+
position: absolute;
|
|
156
|
+
top: calc(0.25em + 0.6em + 0.15em); /* dot top + dot height + 0.15em spacing */
|
|
157
|
+
left: calc(0.3em - 1px); /* half of the circle width minus half the border width */
|
|
158
|
+
height: calc(100% - 0.95em + 1rem + 0.0625em); /* height of container - top + gap */
|
|
159
|
+
border-left: 2px dotted #999;
|
|
160
|
+
z-index: 0;
|
|
170
161
|
}
|
package/src/ColorCard/index.tsx
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import "./index.
|
|
1
|
+
import "./index.css";
|
|
2
2
|
|
|
3
3
|
import clsx from "clsx";
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
as: Component,
|
|
7
|
-
children,
|
|
8
|
-
className,
|
|
9
|
-
href,
|
|
10
|
-
...other
|
|
11
|
-
}: Pick<React.HTMLAttributes<HTMLDivElement>, "id" | "className" | "children"> & {
|
|
5
|
+
export type ColorCardProps = Pick<React.HTMLAttributes<HTMLDivElement>, "id" | "className" | "children"> & {
|
|
12
6
|
as?: "a" | "div" | "button" | "span" | "section" | "article";
|
|
13
7
|
href?: string;
|
|
14
|
-
}
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function ColorCard({ as: Component, children, className, href, ...other }: ColorCardProps) {
|
|
15
11
|
const BaseElement = Component ? Component : href ? "a" : "div";
|
|
16
12
|
|
|
17
13
|
return (
|
|
@@ -21,6 +17,22 @@ export function ColorCard({
|
|
|
21
17
|
);
|
|
22
18
|
}
|
|
23
19
|
|
|
20
|
+
export function CardStepList({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
|
|
21
|
+
return (
|
|
22
|
+
<div className={clsx("ObColorCard-stepList", className)} {...props}>
|
|
23
|
+
{children}
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function CardStep({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
|
|
29
|
+
return (
|
|
30
|
+
<div className={clsx("ObColorCard-step", className)} {...props}>
|
|
31
|
+
<div className="ObColorCard-stepText">{children}</div>
|
|
32
|
+
</div>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
24
36
|
export function CardColumn({
|
|
25
37
|
children,
|
|
26
38
|
className,
|