सीधे मुख्य कॉन्टेंट पर जाएँ
menumenu tanreiexpand_morecontrasttranslate
tanreiexpand_more
शुरुआत करेंWebReactSwiftUIJetpack ComposeFlutterReact Nativeप्रीसेटआपका अपना डिज़ाइन सिस्टमAI एजेंट के साथ Tanrei का इस्तेमालब्रांडडिज़ाइन टोकनडिज़ाइन सिस्टम और कस्टमाइज़ेशनTheme Studioरंगटाइपोग्राफ़ीआइकनशेपएलिवेशनमोशनइंटरैक्शन स्टेटव्यवहारलेआउटसुलभताशब्दकलर टोकनटाइप स्केल टोकनशेप टोकनएलिवेशन टोकनमोशन टोकनस्टेट टोकनस्पेस और माप के टोकनकंपोनेंटबटनमुख्य ऐक्शन बटनसेगमेंटेड बटनबटन ग्रुपमेन्यू वाला बटनटूलबारकॉपी बटनचेकबॉक्सरेडियो बटनस्विचचिपमेन्यूस्लाइडरस्लाइडर फ़ील्डकैलेंडरDateTimePickerफ़ील्ड ग्रुपरेडियो ग्रुपचेकबॉक्स ग्रुपसिलेक्टसिलेक्ट फ़ील्डमेन्यू बारफ़ाइल अपलोडफ़ाइल पिकर उन्नतड्रॉप ज़ोनटेक्स्ट इनपुट उन्नतटेक्स्ट फ़ील्डचिप फ़ील्डफ़ील्डकॉम्बोबॉक्स उन्नतकॉम्बोबॉक्स फ़ील्डनंबर इनपुट उन्नतनंबर फ़ील्डकलर इनपुट उन्नतकलर फ़ील्डवन-टाइम कोड इनपुट उन्नतवन-टाइम कोड फ़ील्डएम्बेडेड टेक्स्ट इनपुट उन्नतचैट कंपोज़रकार्डडिवाइडरमोडल लेयर उन्नतडायलॉगलिस्टलिस्ट पंक्तिबॉटम शीटसाइड शीटकैरसेलकोड ब्लॉकटेबलपॉपओवरचरणअकॉर्डियनडिस्क्रिप्शन लिस्टफ़िगरऐप शेलपेज हेडरट्री व्यूटाइमलाइनइमेज प्रीव्यूसाइज़ हैंडलसाइज़ बदलने वाला फ़्रेमस्क्रॉल एरियाबैजप्रोग्रेस इंडिकेटरमीटरनंबर टिकरलोडिंग इंडिकेटरस्नैकबारटूलटिपकीबोर्ड शॉर्टकटटैगइनलाइन कोडकॉलआउटअवतारख़ाली स्टेटटैग ग्रुपस्केलेटनफ़ाइल आइटमस्वॉचमार्की टेक्स्टटैबटैब व्यूऐप बारनेविगेशन बारनेविगेशन ड्रॉअरखोजलिंकपेजिनेशनपिछला और अगला लिंकस्टेपरब्रेडक्रंबविषय सूचीलिंक कार्डFAB मेन्यूस्थितिTanrei कैसे बनता हैयोगदानलाइसेंस और श्रेय
होमशुरू करेंSwiftUI

SwiftUI

Swift Package Manager से किसी iOS या macOS ऐप में Tanrei जोड़ें।

content_copyMarkdown में देखें

Tanrei Swift पैकेज में SwiftUI व्यू, एक थीम एनवायरनमेंट और जनरेट किए गए टोकन कॉन्स्टेंट मिलते हैं। यह iOS 17 और macOS 14 या उसके बाद के वर्शन पर चलता है, और Swift 6 लैंग्वेज मोड के लिए लिखा गया है।

अभी प्रकाशित नहीं

Tanrei अभी Swift Package Manager पर नहीं है। कोई प्लैटफ़ॉर्म मौजूदा स्पेक की बराबरी पर आने के बाद ही प्रकाशित होता है, और तब तक SwiftUI का CI रुका हुआ है। नीचे “सोर्स से” बताता है कि पैकेज chnotchy/tanrei से कैसे जोड़ा जाता है; “प्रकाशित होने के बाद” बताता है कि तब इंस्टॉल कैसे होगा।

इंस्टॉल करें

सोर्स से

आज बिल्ड नहीं होता

SwiftUI पैकेज अभी मौजूदा स्पेक और टोकन तक नहीं पहुँचा है: उसका सोर्स जनरेट किए गए टोकन कोड के एक पुराने वर्ज़न के हिसाब से लिखा गया था, और आज के कोड के साथ कंपाइल नहीं होता। जब तक वह बराबरी पर नहीं आता, उसका CI रुका हुआ है, और स्थिति पेज उसके कंपोनेंट को पीछे के रूप में दिखाता है। नीचे के चरण बताते हैं कि उसे किसी ऐप में कैसे जोड़ा जाता है; पैकेज के बराबरी पर आने के बाद ये काम करेंगे।

रिपॉज़िटरी को अपने ऐप के बग़ल में क्लोन करें और क्लोन को लोकल पैकेज के रूप में जोड़ें: Xcode में File → Add Package Dependencies… → Add Local… चुनें और वह फ़ोल्डर चुनें जिसमें Package.swift है, या अपने Package.swift में:

dependencies: [
  .package(path: "../tanrei")
],
targets: [
  .target(name: "App", dependencies: [.product(name: "Tanrei", package: "tanrei")])
]

.package(url: "https://github.com/chnotchy/tanrei", branch: "main") लोकल क्लोन की जगह सीधे रिपॉज़िटरी से जुड़ता है और उसके साथ अपडेट होता है।

प्रकाशित होने के बाद

Xcode में File → Add Package Dependencies… चुनें और रिपॉज़िटरी का URL डालें, या इसे Package.swift में जोड़ें:

dependencies: [
  .package(url: "https://github.com/chnotchy/tanrei", from: "<version>")
],
targets: [
  .target(name: "App", dependencies: [.product(name: "Tanrei", package: "tanrei")])
]

पैकेज मैनिफ़ेस्ट रिपॉज़िटरी के रूट में है, क्योंकि Swift Package Manager Git डिपेंडेंसी वहीं से रिज़ॉल्व करता है। Swift की रिलीज़ सादे सिमैंटिक वर्शन से टैग की जाएँगी।

इस्तेमाल

import SwiftUI
import Tanrei

struct DeployView: View {
  @State private var isDeploying = false

  var body: some View {
    TanreiButton("डिप्लॉय करें", variant: .filled, action: { isDeploying = true })
      .disabled(isDeploying)
  }
}

action: स्पेक का click है; ट्रेलिंग क्लोज़र icon: स्लॉट है (TanreiButton("डिप्लॉय करें", action: deploy) { Image(systemName: "arrow.up") })। disabled नाम का कोई पैरामीटर नहीं है। Tanrei, SwiftUI के अपने .disabled(_:) एनवायरनमेंट के अनुसार चलता है, इसलिए किसी कंटेनर को अक्षम करने पर उसके भीतर के बटन भी अक्षम हो जाते हैं, जैसा किसी सिस्टम कंट्रोल के साथ होता।

थीम और कंट्रास्ट

डिफ़ॉल्ट रूप से Tanrei सिस्टम की कलर स्कीम और सुलभता की Increase Contrast सेटिंग के अनुसार चलता है। दोनों में से किसी को भी थीम मॉडिफ़ायर से बदला जा सकता है:

ContentView()
  .tanreiTheme(TanreiTheme(appearance: .dark, contrast: .high))

फ़ॉन्ट

जब फ़ॉन्ट आपके ऐप में रजिस्टर हों, तो टाइप स्केल Inter इस्तेमाल करता है (जापानी के लिए Noto Sans JP, कोड के लिए Roboto Mono), वरना सिस्टम फ़ॉन्ट पर आ जाता है। टेक्स्ट स्टाइल के नाम उनके स्तर पर रखे गए हैं और वे एनवायरनमेंट में मौजूद सिस्टम पर मिलते हैं (@Environment(\.tanreiSystem) private var system): सेक्शन के शीर्षक के लिए .tanreiTextStyle(system.typescale.heading2), चलते टेक्स्ट के लिए system.typescale.body, किसी कंट्रोल के लिए system.typescale.label — और ये Dynamic Type के साथ स्केल होते हैं; .tanreiTextStyle(system.typescale.heading1, emphasized: true) वेट में हेडिंग फ़ैमिली का एम्फ़ेसिस स्टेप जोड़ता है। कोने system.shape.cornerSmoothing के अनुसार बनते हैं: 0 पर .circular, और 0 से ऊपर किसी भी मात्रा पर OS का .continuous कोना।