first commit
CI / typecheck (push) Successful in 1m8s
CI / format (push) Failing after 1m6s
CI / lint (push) Failing after 49s
CI / test (push) Failing after 1m8s

This commit is contained in:
SDI
2026-07-15 18:05:12 +09:00
commit 12e4f17b62
4633 changed files with 817125 additions and 0 deletions
@@ -0,0 +1,26 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.accordion-content-inset-small {
@apply pl-10;
}
.accordion-content-inset-medium {
@apply pl-11;
}
.accordion-content-inset-large {
@apply pl-12;
}
@@ -0,0 +1,66 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.alert-radius-large {
@apply rounded-24;
}
.alert-radius-medium {
@apply rounded-8;
}
.alert-radius-small {
@apply rounded-0;
}
.alert-default {
@apply border-[var(--alert-border)];
}
.alert-warning {
@apply border-[var(--alert-border-warning)];
}
.alert-success {
@apply border-[var(--alert-border-success)];
}
.alert-error {
@apply border-[var(--alert-border-error)];
}
.alert-informative {
@apply border-[var(--alert-border-informative)];
}
.alert-icon-default {
@apply text-[var(--alert-fg)];
}
.alert-icon-warning {
@apply text-[var(--alert-fg-warning)];
}
.alert-icon-success {
@apply text-[var(--alert-fg-success)];
}
.alert-icon-error {
@apply text-[var(--alert-fg-error)];
}
.alert-icon-informative {
@apply text-[var(--alert-fg-informative)];
}
@@ -0,0 +1,86 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.badge-bold-default {
@apply border border-[var(--badge-bold-border)] bg-[var(--badge-bold-bg)] text-[var(--badge-bold-fg)];
}
.badge-bold-blue {
@apply border border-[var(--badge-bold-border-blue)] bg-[var(--badge-bold-bg-blue)] text-[var(--badge-bold-fg-blue)];
}
.badge-bold-orange {
@apply border border-[var(--badge-bold-border-orange)] bg-[var(--badge-bold-bg-orange)] text-[var(--badge-bold-fg-orange)];
}
.badge-bold-red {
@apply border border-[var(--badge-bold-border-red)] bg-[var(--badge-bold-bg-red)] text-[var(--badge-bold-fg-red)];
}
.badge-bold-green {
@apply border border-[var(--badge-bold-border-green)] bg-[var(--badge-bold-bg-green)] text-[var(--badge-bold-fg-green)];
}
.badge-subtle-default {
@apply border border-[var(--badge-subtle-border)] bg-[var(--badge-subtle-bg)] text-[var(--badge-subtle-fg)];
}
.badge-subtle-blue {
@apply border border-[var(--badge-subtle-border-blue)] bg-[var(--badge-subtle-bg-blue)] text-[var(--badge-subtle-fg-blue)];
}
.badge-subtle-orange {
@apply border border-[var(--badge-subtle-border-orange)] bg-[var(--badge-subtle-bg-orange)] text-[var(--badge-subtle-fg-orange)];
}
.badge-subtle-red {
@apply border border-[var(--badge-subtle-border-red)] bg-[var(--badge-subtle-bg-red)] text-[var(--badge-subtle-fg-red)];
}
.badge-subtle-green {
@apply border border-[var(--badge-subtle-border-green)] bg-[var(--badge-subtle-bg-green)] text-[var(--badge-subtle-fg-green)];
}
.badge-outline-default {
@apply border border-[var(--badge-outline-border)] bg-[var(--badge-outline-bg)] text-[var(--badge-outline-fg)];
}
.badge-outline-blue {
@apply border border-[var(--badge-outline-border-blue)] bg-[var(--badge-outline-bg-blue)] text-[var(--badge-outline-fg-blue)];
}
.badge-outline-orange {
@apply border border-[var(--badge-outline-border-orange)] bg-[var(--badge-outline-bg-orange)] text-[var(--badge-outline-fg-orange)];
}
.badge-outline-red {
@apply border border-[var(--badge-outline-border-red)] bg-[var(--badge-outline-bg-red)] text-[var(--badge-outline-fg-red)];
}
.badge-outline-green {
@apply border border-[var(--badge-outline-border-green)] bg-[var(--badge-outline-bg-green)] text-[var(--badge-outline-fg-green)];
}
.badge-radius-small {
@apply rounded-0;
}
.badge-radius-medium {
@apply rounded-6;
}
.badge-radius-large {
@apply rounded-full;
}
@@ -0,0 +1,78 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.button-large {
@apply text-xlarge-strong h-13 min-w-13 gap-2 px-5 [&.svg-only]:px-3 [&>svg]:h-6 [&>svg]:w-6;
}
.button-medium {
@apply text-large-strong h-11 min-w-11 gap-2 px-4 [&.svg-only]:px-3 [&>svg]:h-5 [&>svg]:w-5;
}
.button-small {
@apply text-base-strong h-9 min-w-9 gap-1 px-3 [&.svg-only]:px-2.5 [&>svg]:h-4 [&>svg]:w-4;
}
.button-radius-large {
@apply rounded-full;
}
.button-radius-medium {
@apply rounded-8;
}
.button-radius-small {
@apply rounded-0;
}
.button-primary {
@apply bg-[var(--button-primary-bg)] text-[var(--button-primary-fg)];
}
.button-secondary {
@apply bg-[var(--button-secondary-bg)] text-[var(--button-secondary-fg)];
}
.button-destructive {
@apply bg-[var(--button-destructive-bg)] text-[var(--button-destructive-fg)];
}
.button-ghost {
@apply bg-[var(--button-ghost-bg)] text-[var(--button-ghost-fg)] transition-colors data-[state=open]:bg-[var(--button-ghost-bg-hover)] [&:not(:disabled)]:hover:bg-[var(--button-ghost-bg-hover)];
}
.button-outline {
@apply border border-[var(--button-outline-border)] bg-[var(--button-outline-bg)] text-[var(--button-outline-fg)] transition-colors data-[state=open]:bg-[var(--button-outline-bg-hover)] [&:not(:disabled)]:hover:bg-[var(--button-outline-bg-hover)];
}
.button-loading-primary {
@apply text-[var(--button-primary-fg)];
}
.button-loading-secondary {
@apply text-[var(--button-secondary-fg)];
}
.button-loading-destructive {
@apply text-[var(--button-destructive-fg)];
}
.button-loading-ghost {
@apply text-[var(--button-ghost-fg)];
}
.button-loading-outline {
@apply text-[var(--button-outline-fg)];
}
@@ -0,0 +1,30 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.caption-default {
@apply [&:not([data-error="true"])]:text-[var(--caption-fg)];
}
.caption-success {
@apply [&:not([data-error="true"])]:text-[var(--caption-fg-success)];
}
.caption-info {
@apply [&:not([data-error="true"])]:text-[var(--caption-fg)];
}
.caption[data-error="true"] {
@apply text-[var(--caption-fg-error)];
}
@@ -0,0 +1,38 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.checkbox-small {
@apply text-small-normal;
}
.checkbox-medium {
@apply text-base-normal;
}
.checkbox-large {
@apply text-large-normal;
}
.check-small {
@apply h-3.5 w-3.5;
}
.check-medium {
@apply h-4 w-4;
}
.check-large {
@apply h-5 w-5;
}
@@ -0,0 +1,26 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.absolute-y-center {
@apply absolute top-1/2 -translate-y-1/2 transform;
}
.absolute-x-center {
@apply absolute left-1/2 -translate-x-1/2 transform;
}
.absolute-center {
@apply absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 transform;
}
@@ -0,0 +1,70 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.dialog-content-radius-large {
@apply rounded-24;
}
.dialog-content-radius-medium {
@apply rounded-8;
}
.dialog-content-radius-small {
@apply rounded-0;
}
.dialog-icon-default {
@apply text-[var(--fg-neutral-primary)];
}
.dialog-icon-warning {
@apply text-[var(--fg-tint-orange)];
}
.dialog-icon-informative {
@apply text-[var(--fg-tint-blue)];
}
.dialog-icon-success {
@apply text-[var(--fg-tint-green)];
}
.dialog-icon-error {
@apply text-[var(--fg-tint-red)];
}
.dialog-footer-left {
@apply justify-start;
}
.dialog-footer-center {
@apply justify-center;
}
.dialog-footer-right {
@apply justify-end;
}
.dialog-footer-between {
@apply justify-between;
}
.dialog-footer-full {
@apply justify-start;
> * {
@apply flex-1;
}
}
@@ -0,0 +1,54 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.divider-bold {
@apply bg-[var(--divider-border-bold)];
}
.divider-subtle {
@apply bg-[var(--divider-border-subtle)];
}
.divider-horizontal {
@apply mx-auto h-px w-full;
}
.divider-vertical {
@apply my-auto h-full w-px;
}
.divider.divider-horizontal-indent-8 {
@apply w-[calc(100%_-_16px)];
}
.divider.divider-horizontal-indent-16 {
@apply w-[calc(100%_-_32px)];
}
.divider.divider-horizontal-indent-24 {
@apply w-[calc(100%_-_48px)];
}
.divider-vertical-indent-8 {
@apply h-[calc(100%_-_16px)];
}
.divider-vertical-indent-16 {
@apply h-[calc(100%_-_32px)];
}
.divider-vertical-indent-24 {
@apply h-[calc(100%_-_48px)];
}
@@ -0,0 +1,62 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.input-large {
@apply text-xlarge-normal h-13 px-5 py-2.5;
}
.input-medium {
@apply text-large-normal h-11 px-4 py-2.5;
}
.input-small {
@apply text-base-normal h-9 px-3 py-2;
}
.input-radius-large {
@apply rounded-full;
}
.input-radius-medium {
@apply rounded-8;
}
.input-radius-small {
@apply rounded-0;
}
.input-icon-large {
@apply left-4;
}
.input-icon-medium {
@apply left-3.5;
}
.input-icon-small {
@apply left-3;
}
.input-button-large {
@apply right-4;
}
.input-button-medium {
@apply right-3.5;
}
.input-button-small {
@apply right-3;
}
@@ -0,0 +1,34 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.menu-horizontal {
@apply flex-row gap-3;
}
.menu-vertical {
@apply min-w-[10rem] flex-col gap-3;
}
.menu-item-large {
@apply text-xlarge-normal px-3.5 py-2.5 [&>svg]:h-6 [&>svg]:w-6;
}
.menu-item-medium {
@apply text-large-normal px-3 py-2.5 [&>svg]:h-5 [&>svg]:w-5;
}
.menu-item-small {
@apply text-base-normal p-2 [&>svg]:h-4 [&>svg]:w-4;
}
@@ -0,0 +1,7 @@
module.exports = {
plugins: [
require('postcss-import'),
require('tailwindcss/nesting'),
require('tailwindcss')('./src/utilities/tailwind.config.js'),
],
};
@@ -0,0 +1,42 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.radio-card-group-horizontal {
@apply flex-row space-x-2;
}
.radio-card-group-vertical {
@apply flex-col space-y-2;
}
.radio-card-horizontal {
@apply min-w-40 flex-row items-center space-x-2 px-4 py-3 text-left;
}
.radio-card-vertical {
@apply min-h-28 min-w-40 flex-col items-center justify-center space-y-2 px-6 py-3 text-center;
}
.radio-card-radius-small {
@apply rounded-0;
}
.radio-card-radius-medium {
@apply rounded-8;
}
.radio-card-radius-large {
@apply rounded-24;
}
@@ -0,0 +1,22 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.radio-group-horizontal {
@apply flex-row gap-4;
}
.radio-group-vertical {
@apply flex-col gap-1;
}
@@ -0,0 +1,22 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.scroll-bar-vertical {
@apply h-full w-2 border-l border-l-[transparent] py-1 pr-0.5;
}
.scroll-bar-horizontal {
@apply h-2 w-full flex-col border-t border-t-[transparent] px-1 pb-0.5;
}
@@ -0,0 +1,65 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.select-small {
@apply space-y-1;
}
.select-medium {
@apply space-y-1.5;
}
.select-large {
@apply space-y-2;
}
.select-trigger-small {
@apply text-base-normal min-h-9 space-x-2 px-3;
}
.select-trigger-medium {
@apply text-large-normal min-h-11 space-x-2.5 px-3.5;
}
.select-trigger-large {
@apply text-xlarge-normal min-h-13 space-x-3 px-4;
}
.select-trigger-radius-small {
@apply rounded-0 before:rounded-0;
}
.select-trigger-radius-medium {
@apply rounded-8 before:rounded-8;
}
.select-trigger-radius-large {
@apply rounded-full before:rounded-full;
}
.select-item-left {
@apply pl-8 pr-2;
}
.select-item-right {
@apply pl-2 pr-8;
}
.select-item-check-left {
@apply left-2;
}
.select-item-check-right {
@apply right-2;
}
@@ -0,0 +1,42 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.sheet-side-top {
@apply data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top !rounded-t-0 inset-x-0 top-0 max-h-[75%] border-b;
}
.sheet-side-bottom {
@apply data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom !rounded-b-0 inset-x-0 bottom-0 max-h-[75%] border-t;
}
.sheet-side-left {
@apply data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left !rounded-l-0 inset-y-0 left-0 h-full w-3/4 max-w-[504px] border-r;
}
.sheet-side-right {
@apply data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right !rounded-r-0 inset-y-0 right-0 h-full w-3/4 max-w-[504px] border-l;
}
.sheet-radius-small {
@apply rounded-0;
}
.sheet-radius-medium {
@apply rounded-8;
}
.sheet-radius-large {
@apply rounded-24;
}
@@ -0,0 +1,34 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.switch-default {
@apply data-[state=checked]:before:bg-[var(--switch-bg)];
}
.switch-blue {
@apply data-[state=checked]:before:bg-[var(--switch-bg-blue)];
}
.switch-orange {
@apply data-[state=checked]:before:bg-[var(--switch-bg-orange)];
}
.switch-red {
@apply data-[state=checked]:before:bg-[var(--switch-bg-red)];
}
.switch-green {
@apply data-[state=checked]:before:bg-[var(--switch-bg-green)];
}
@@ -0,0 +1,38 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.table-head-left {
@apply text-left;
}
.table-head-center {
@apply text-center;
}
.table-head-right {
@apply text-right;
}
.table-cell-left {
@apply text-left;
}
.table-cell-center {
@apply text-center;
}
.table-cell-right {
@apply text-right;
}
@@ -0,0 +1,54 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.tag-small {
@apply text-small-strong h-5.5 gap-1 px-2 [&>svg]:h-3 [&>svg]:w-3;
}
.tag-medium {
@apply text-base-strong h-7 gap-1.5 px-2.5 [&>svg]:h-4 [&>svg]:w-4;
}
.tag-large {
@apply text-large-strong h-8 gap-2 px-3 [&>svg]:h-4 [&>svg]:w-4;
}
.tag-radius-small {
@apply rounded-0;
}
.tag-radius-medium {
@apply rounded-6;
}
.tag-radius-large {
@apply rounded-full;
}
.tag-primary {
@apply bg-[var(--tag-primary-bg)] text-[var(--tag-primary-fg)];
}
.tag-secondary {
@apply bg-[var(--tag-secondary-bg)] text-[var(--tag-secondary-fg)];
}
.tag-destructive {
@apply bg-[var(--tag-destructive-bg)] text-[var(--tag-destructive-fg)];
}
.tag-outline {
@apply border border-[var(--tag-outline-border)] bg-[var(--tag-outline-bg)] text-[var(--tag-outline-fg)] hover:bg-[var(--tag-outline-bg-hover)];
}
@@ -0,0 +1,240 @@
const plugin = require("tailwindcss/plugin");
const theme = require("../theme");
function filterDefault(values) {
return Object.fromEntries(
Object.entries(values).filter(([key]) => key !== "DEFAULT"),
);
}
/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: "class",
content: [{ raw: "" }],
safelist: [
{
pattern:
/(fill|text|bg|border|text-above)-neutral-(primary|secondary|tertiary|inverse|disabled|static|hover|transparent|dim)/,
},
{
pattern: /bg-(primary|secondary|tertiary|dim)/,
},
{
pattern: /(fill|text|border)-tint-(red|orange|green|blue)/,
},
{
pattern: /bg-tint-(red|orange|green|blue)-(bold|subtle|hover|)/,
},
{
pattern: /rounded(-|)(0|4|6|8|12|16|24|full|)/,
},
{
pattern: /shadow(-|)(sm|md|lg|xl|2xl|inner|none|)/,
},
],
theme,
plugins: [
plugin(
({ addUtilities, matchUtilities, theme }) => {
addUtilities({
"@keyframes enter": theme("keyframes.enter"),
"@keyframes exit": theme("keyframes.exit"),
".animate-in": {
animationName: "enter",
animationDuration: theme("animationDuration.DEFAULT"),
"--tw-enter-opacity": "initial",
"--tw-enter-scale": "initial",
"--tw-enter-rotate": "initial",
"--tw-enter-translate-x": "initial",
"--tw-enter-translate-y": "initial",
},
".animate-out": {
animationName: "exit",
animationDuration: theme("animationDuration.DEFAULT"),
"--tw-exit-opacity": "initial",
"--tw-exit-scale": "initial",
"--tw-exit-rotate": "initial",
"--tw-exit-translate-x": "initial",
"--tw-exit-translate-y": "initial",
},
});
matchUtilities(
{
"fade-in": (value) => ({ "--tw-enter-opacity": value }),
"fade-out": (value) => ({ "--tw-exit-opacity": value }),
},
{ values: theme("animationOpacity") },
);
matchUtilities(
{
"zoom-in": (value) => ({ "--tw-enter-scale": value }),
"zoom-out": (value) => ({ "--tw-exit-scale": value }),
},
{ values: theme("animationScale") },
);
matchUtilities(
{
"spin-in": (value) => ({ "--tw-enter-rotate": value }),
"spin-out": (value) => ({ "--tw-exit-rotate": value }),
},
{ values: theme("animationRotate") },
);
matchUtilities(
{
"slide-in-from-top": (value) => ({
"--tw-enter-translate-y": `-${value}`,
}),
"slide-in-from-bottom": (value) => ({
"--tw-enter-translate-y": value,
}),
"slide-in-from-left": (value) => ({
"--tw-enter-translate-x": `-${value}`,
}),
"slide-in-from-right": (value) => ({
"--tw-enter-translate-x": value,
}),
"slide-out-to-top": (value) => ({
"--tw-exit-translate-y": `-${value}`,
}),
"slide-out-to-bottom": (value) => ({
"--tw-exit-translate-y": value,
}),
"slide-out-to-left": (value) => ({
"--tw-exit-translate-x": `-${value}`,
}),
"slide-out-to-right": (value) => ({
"--tw-exit-translate-x": value,
}),
},
{ values: theme("animationTranslate") },
);
matchUtilities(
{ duration: (value) => ({ animationDuration: value }) },
{ values: filterDefault(theme("animationDuration")) },
);
matchUtilities(
{ delay: (value) => ({ animationDelay: value }) },
{ values: theme("animationDelay") },
);
matchUtilities(
{ ease: (value) => ({ animationTimingFunction: value }) },
{ values: filterDefault(theme("animationTimingFunction")) },
);
addUtilities({
".running": { animationPlayState: "running" },
".paused": { animationPlayState: "paused" },
});
matchUtilities(
{ "fill-mode": (value) => ({ animationFillMode: value }) },
{ values: theme("animationFillMode") },
);
matchUtilities(
{ direction: (value) => ({ animationDirection: value }) },
{ values: theme("animationDirection") },
);
matchUtilities(
{ repeat: (value) => ({ animationIterationCount: value }) },
{ values: theme("animationRepeat") },
);
},
{
theme: {
extend: {
animationDelay: ({ theme }) => ({
...theme("transitionDelay"),
}),
animationDuration: ({ theme }) => ({
0: "0ms",
...theme("transitionDuration"),
}),
animationTimingFunction: ({ theme }) => ({
...theme("transitionTimingFunction"),
}),
animationFillMode: {
none: "none",
forwards: "forwards",
backwards: "backwards",
both: "both",
},
animationDirection: {
normal: "normal",
reverse: "reverse",
alternate: "alternate",
"alternate-reverse": "alternate-reverse",
},
animationOpacity: ({ theme }) => ({
DEFAULT: 0,
...theme("opacity"),
}),
animationTranslate: ({ theme }) => ({
DEFAULT: "100%",
...theme("translate"),
}),
animationScale: ({ theme }) => ({
DEFAULT: 0,
...theme("scale"),
}),
animationRotate: ({ theme }) => ({
DEFAULT: "30deg",
...theme("rotate"),
}),
animationRepeat: {
0: "0",
1: "1",
infinite: "infinite",
},
animation: {
in: "enter 0.15s ease-in-out",
out: "exit 0.15s ease-in-out",
"accordion-down": "accordion-down 0.2s ease-out",
"accordion-up": "accordion-up 0.2s ease-out",
},
keyframes: {
enter: {
from: {
opacity: "var(--tw-enter-opacity, 1)",
transform:
"translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))",
},
},
exit: {
to: {
opacity: "var(--tw-exit-opacity, 1)",
transform:
"translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))",
},
},
"accordion-down": {
from: { height: "0" },
to: { height: "var(--radix-accordion-content-height)" },
},
"accordion-up": {
from: { height: "var(--radix-accordion-content-height)" },
to: { height: "0" },
},
},
},
},
},
),
plugin(({ addBase }) => {
addBase(require("../../dist/base"));
}),
],
};
// {
// pattern:
// /(bg|text|fill|border|text-above)-neutral-(primary|secondary|tertiary|quaternary|dim|)/,
// },
@@ -0,0 +1,66 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.toast-radius-large {
@apply rounded-24;
}
.toast-radius-medium {
@apply rounded-8;
}
.toast-radius-small {
@apply rounded-0;
}
.toast-default {
@apply border-[var(--toast-border)];
}
.toast-warning {
@apply border-[var(--toast-border-warning)];
}
.toast-success {
@apply border-[var(--toast-border-success)];
}
.toast-error {
@apply border-[var(--toast-border-error)];
}
.toast-informative {
@apply border-[var(--toast-border-informative)];
}
.toast-icon-default {
@apply text-[var(--toast-fg)];
}
.toast-icon-warning {
@apply text-[var(--toast-fg-warning)];
}
.toast-icon-success {
@apply text-[var(--toast-fg-success)];
}
.toast-icon-error {
@apply text-[var(--toast-fg-error)];
}
.toast-icon-informative {
@apply text-[var(--toast-fg-informative)];
}
@@ -0,0 +1,38 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.toggle-group-item-large {
@apply text-xlarge-strong min-h-13 px-6 py-2 [&>svg]:h-6 [&>svg]:w-6;
}
.toggle-group-item-medium {
@apply text-large-strong min-h-11 px-4 py-2 [&>svg]:h-5 [&>svg]:w-5;
}
.toggle-group-item-small {
@apply text-base-strong min-h-9 px-3 py-1.5 [&>svg]:h-4 [&>svg]:w-4;
}
.toggle-group-item-radius-large {
@apply first:rounded-l-full last:rounded-r-full;
}
.toggle-group-item-radius-medium {
@apply first:rounded-l-8 last:rounded-r-8;
}
.toggle-group-item-radius-small {
@apply first:rounded-l-0 last:rounded-r-0;
}
@@ -0,0 +1,26 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
.tooltip-text-left {
@apply text-left;
}
.tooltip-text-center {
@apply text-center;
}
.tooltip-text-right {
@apply text-right;
}
@@ -0,0 +1,16 @@
/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
@import url("tailwindcss/utilities");